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 with JavaScript enabled. Enable JavaScript to view data.

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

* Using XMLHttpRequest
* Getting text and HTML/XML data: `XMLHttpRequest.responseText` and `XMLHttpRequest.responseXML`