JavaScript метод XMLHttpRequest.getResponseHeader()

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

JavaScript метод getResponseHeader() объекта XMLHttpRequest возвращает строку, содержащую текст указанного заголовка, или null, если ответ еще не был получен, или заголовок не существует в ответе.

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

Обработка cookies выполняется объектом XMLHttpRequest в автоматическом режиме и он исключает заголовки "Cookie" из множества заголовков, возвращаемых методом getAllResponseHeaders(), и возвращает null, если передать аргумент "Set-Cookie" или "Set-Cookie2" методу getResponseHeader(). Заголовки CORS, как и cookie отфильтровываются и не могут быть получены.

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

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

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

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

1

Примечание 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.

✓8✓1.2✓18✓4

4

Примечание 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.

✓10.1✓1✓1.0✓4.4✓1

поддерживается с ограничениями нет поддержки нет данных≤31 — не позднее версии 31

JavaScript синтаксис:

JavaScript
const myHeader = XMLHttpRequest.getResponseHeader(headerName);

headerName - String

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

XMLHttpRequest

Значения параметров

ПараметрОписание
headerNameСтроковое значение, определяющее имя заголовка, который вы хотите вернуть в виде последовательности байтов UTF (ByteString). ByteString, представляет текстовое значение заголовка, или null, если ответ еще не получен, или заголовок не существует в ответе. При поиске имени заголовка регистр не учитывается. Обязательное значение.

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

JavaScript
let xhr = new XMLHttpRequest(); // инициализируем переменную новым объектом XMLHttpRequest
xhr.open("GET", "script.php"); // определяем параметры для запроса на определенный адрес
xhr.send(); // отправляем запрос на сервер

xhr.onreadystatechange = function() { // устанавливаем обработчик события
  if(xhr.readyState === 2) { // проверяем состояние запроса
    const contentType = xhr.getResponseHeader("Content-Type"); // возвращаем строку, содержащую текст указанного заголовка
    console.log(contentType); // выводим значение переменной в консоль
  }
}

В этом примере мы инициализируем переменную новым объектом XMLHttpRequest, определяем параметры для "GET" запроса на определенный адрес, и с помощью метода send() отправляем этот запрос. С помощью обработчика onreadystatechange, который срабатывает каждый раз когда изменяется значение свойства readyState, мы проверяем если значение этого свойства соответствует значению 2 (HEADERS_RECEIVED) - метод send() объекта был вызван, заголовки и статус доступны.

После этого с помощью метода getResponseHeader() объекта XMLHttpRequest возвращаем строку, содержащую текст указанного заголовка "Content-Type" (соответствует MIME типу ресурса) и выводим это значение в консоль.