JavaScript метод XMLHttpRequest.getAllResponseHeaders()
Определение и применение
JavaScript метод getAllResponseHeaders() объекта
XMLHttpRequest
возвращает все заголовки ответа, разделенные разрывом строки (CRLF — символы \r\n) в виде строки или пустую
строку, если заголовки ответа ещё недоступны.
Если вам нужно получить строку, содержащую текст определенного заголовка, то используйте метод
getResponseHeader().
Поддержка браузерами
Спецификация: xhr.spec.whatwg
Поддерживается во всех основных браузерах с 2015 года.
| Возможность | Компьютеры | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
getAllResponseHeaders | 1 | 12 | 1 Версия 1 выпущена в 2004 г. Примечание MDN (англ.) Starting from Firefox 49, empty headers are returned as empty strings in case the preference | ≤12.1 | 1.2 | 18 | 4 Версия 4 выпущена в 2011 г. Примечание MDN (англ.) Starting from Firefox for Android 49, empty headers are returned as empty strings in case the preference | ≤12.1 | 1 | 1.0 | 4.4 | 1 |
| Header names returned in all lower case | 60 | 79 | 64 | 47 | 11 | 60 | 64 | 44 | 11 | 8.0 | 60 | 11 |
поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31
JavaScript синтаксис
const myHeaders = xhr.getAllResponseHeaders();
Спецификация
Пример использования
let xhr = new XMLHttpRequest(); // инициализируем переменную новым объектом XMLHttpRequest
xhr.open("GET", "script.php"); // определяем параметры для запроса на определенный адрес
xhr.send(); // отправляем запрос на сервер
xhr.onreadystatechange = function() { // устанавливаем обработчик события
if(xhr.readyState === 2) { // проверяем состояние запроса
const contentType = xhr.getAllResponseHeaders(); // возвращаем строку, содержащую все заголовки ответа
console.log(contentType); // выводим значение переменной в консоль
}
}
В этом примере мы инициализируем переменную новым объектом
XMLHttpRequest, определяем параметры для "GET" запроса на определенный адрес, и с помощью метода
send()
отправляем этот запрос. С помощью обработчика
onreadystatechange, который срабатывает каждый раз когда изменяется значение свойства
readyState, мы проверяем если значение этого свойства соответствует значению 2 (HEADERS_RECEIVED) - метод
send()
объекта был вызван, заголовки и статус доступны.
После этого с помощью метода getAllResponseHeaders() объекта
XMLHttpRequest
возвращаем строку, содержащую все заголовки ответа, и выводим это значение в консоль.