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
Смотрите также
- Using XMLHttpRequest
- Getting text and HTML/XML data:
XMLHttpRequest.responseText
andXMLHttpRequest.responseXML