XMLHttpRequest.response

Свойство XMLHttpRequest response возвращает содержимое тела ответа в виде ArrayBuffer, Blob, Document, JavaScript Object или DOMString в зависимости от значения свойства responseType.

Синтаксис

var body = XMLHttpRequest.response;

Value

Соответствующий объект, основанный на значении responseType. Вы можете попытаться запросить данные в определённом формате, установив значение responseType после вызова open() для инициализации запроса, но перед вызовом send() для отправки запроса на сервер.

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

Типы ответов описаны ниже.

Значение Описание
"" Пустая строка responseType обрабатывается так же, как "text", тип по умолчанию (следовательно, как DOMString.)
"arraybuffer" response в JavaScript ArrayBuffer содержит двоичные данные.
"blob" response в Blob object содержит двоичные данные.
"document" response является HTML Document или XML XMLDocument, в зависимости от ситуации, основанный на MIME-типе полученных данных. См. HTML in XMLHttpRequest (en-US) , чтобы узнать больше об использовании XHR для извлечения содержимого HTML.
"json" response является JavaScript object, созданный путём анализа содержимого полученных данных как JSON.
"text" response является текстом в DOMString object.
"moz-chunked-arraybuffer" Похож на "arraybuffer", но данные принимаются в потоке. При использовании этого типа ответа значение в response доступно только в обработчике для события progress (en-US) и содержит только данные, полученные с момента последнего события progress, а не совокупные данные, полученные с момента отправки запроса.Доступ к response во время события progress возвращает полученные данные. За пределами обработчика событий progress значение response всегда равно null.
"ms-stream" response является частью потоковой загрузки; этот тип ответа разрешён только для запросов на загрузку и поддерживается только Internet Explorer.

Пример

В этом примере представлена функция load(), которая загружает и обрабатывает страницу с сервера. Он работает путём создания объекта XMLHttpRequest и создания обработчика события с событием readystatechange, чтобы при изменении readyState на DONE (4) response получался и передавался в колбэк-функцию, предоставляемую load().

Содержимое обрабатывается как необработанные текстовые данные (поскольку здесь ничто не переопределяет responseType по умолчанию).

js
var url = "somePage.html"; //A local page

function load(url, callback) {
  var xhr = new XMLHttpRequest();

  xhr.onreadystatechange = function () {
    if (xhr.readyState === 4) {
      callback(xhr.response);
    }
  };

  xhr.open("GET", url, true);
  xhr.send("");
}

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

Specification
XMLHttpRequest Standard
# the-response-attribute

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также