JavaScript метод XMLHttpRequest.getAllResponseHeaders()

Определение и применение

JavaScript метод getAllResponseHeaders() объекта XMLHttpRequest возвращает все заголовки ответа, разделенные разрывом строки (CRLF — символы \r\n) в виде строки или пустую строку, если заголовки ответа ещё недоступны.

Если вам нужно получить строку, содержащую текст определенного заголовка, то используйте метод getResponseHeader().

Поддержка браузерами

Спецификация: xhr.spec.whatwg

Поддерживается во всех основных браузерах с 2015 года.

Показать браузеры
Совместимостьapi.XMLHttpRequest.getAllResponseHeaders
ВозможностьКомпьютерыМобильные
ChromeEdgeFirefoxOperaSafariChrome AndroidFirefox for AndroidOpera AndroidSafari on iOSSamsung BrowserWebView AndroidWebView on iOS
getAllResponseHeaders✓1✓12✓1

Версия 1 выпущена в 2004 г.

Примечание MDN (англ.)

Starting from Firefox 49, empty headers are returned as empty strings in case the preference network.http.keep_empty_response_headers_as_empty_string is set to true, defaulting to false. Before Firefox 49 empty headers had been ignored. Since Firefox 50 the preference defaults to true.

✓≤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 network.http.keep_empty_response_headers_as_empty_string is set to true, defaulting to false. Before Firefox for Android 49 empty headers had been ignored. Since Firefox for Android 50 the preference defaults to true.

✓≤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 синтаксис

JavaScript
const myHeaders = xhr.getAllResponseHeaders();

Спецификация

XMLHttpRequest Standard.

Пример использования

JavaScript
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 возвращаем строку, содержащую все заголовки ответа, и выводим это значение в консоль.