JavaScript свойство XMLHttpRequest.response

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

JavaScript свойство response объекта XMLHttpRequest возвращает содержимое тела ответа в виде ArrayBuffer, Blob, Document, значения, полученного разбором JSON, или строки в зависимости от значения свойства responseType запроса. Свойство доступно только для чтения.

Для responseType, равного "" или "text", во время загрузки (состояние LOADING) свойство возвращает уже полученную часть текста. Для остальных типов значение доступно только после завершения запроса (состояние DONE); до этого и при ошибке возвращается null.

Типы возможных ответов представлены ниже:

Значение Тип данных — XMLHttpRequest.response
Значение Тип данных свойства response
"" Тип данных свойства response — строка, как при значении "text". Значение по умолчанию.
"arraybuffer" Тип данных свойства response представляет собой JavaScript объект ArrayBuffer, содержащий двоичные данные.
"blob" Тип данных свойства response представляет собой JavaScript объект Blob, содержащий двоичные данные.
"document" Тип данных свойства response представляет собой документ HTML или XML, в зависимости от MIME типа полученных данных.
"json" Тип данных свойства response представляет собой объект JavaScript, созданный путем анализа содержимого полученных данных как JSON. Если ответ не удается разобрать, возвращается null.
"text" Тип данных свойства response — строка с текстом ответа.

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

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

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

Показать браузеры
Совместимостьapi.XMLHttpRequest.response
ВозможностьКомпьютерыМобильные
ChromeEdgeFirefoxOperaSafariChrome AndroidFirefox for AndroidOpera AndroidSafari on iOSSamsung BrowserWebView AndroidWebView on iOS
response✓9✓12✓6✓11.6✓5.1✓18✓6✓12✓5✓1.0✓3✓5

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

JavaScript синтаксис

JavaScript
const body = xhr.response;

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

XMLHttpRequest Standard.

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

Пример ниже демонстрирует загрузку двоичного объекта с помощью объекта XMLHttpRequest методом "GET" и передает этот объект заданной функции обратного вызова:

JavaScript
function getBlob(url, callback) {
  let xhr = new XMLHttpRequest(); // инициализируем только что созданный запрос
  xhr.open("GET", url); // определяем параметры для запроса
  xhr.responseType = "blob"; // указываем тип данных, ожидаемых в ответе
  xhr.onload = function() { // добавляем обработчик события
    callback(xhr.response); // передаем ответ сервера функции обратного вызова
  };
  xhr.send(); // отправляем запрос на сервер
}