JavaScript свойство XMLHttpRequest.responseXML
Определение и применение
JavaScript свойство responseXML объекта XMLHttpRequest возвращает документ (Document), содержащий HTML или XML, полученный запросом, или значение null, если запрос был неудачным, еще не был отправлен, или если данные не могут быть проанализированы как XML или HTML. Свойство доступно только для чтения.
Если сервер не определяет заголовок Content-Type как "text/xml" или "application/xml", то вы в любом случае можете использовать метод overrideMimeType(), чтобы переопределить MIME тип, и принудительно анализировать ответ, возвращаемый сервером в формате XML.
Поддержка браузерами
Спецификация: xhr.spec.whatwg
Поддерживается во всех основных браузерах с 2015 года.
| Возможность | Компьютеры | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
responseXML | 1 | 12 | 1 1 Примечание MDN (англ.) Before Firefox 51, an error parsing the received data added a | ≤12.1 | 3 | 18 | 4 4 Примечание MDN (англ.) Before Firefox for Android 51, an error parsing the received data added a | ≤12.1 | 1 | 1.0 | 4.4 | 1 |
поддерживается с ограничениями нет поддержки нет данных≤31 — не позднее версии 31
JavaScript синтаксис:
let myData = XMLHttpRequest.responseXML;
Cпецификация
XMLHttpRequestИсключения
| Тип исключения | Описание |
|---|---|
| InvalidStateError | Возникает в том случае, если значение свойства responseType (определяет тип данных, содержащиxся в ответе) отличается от "document", или пустой строки. |
Пример использования
let xhr = new XMLHttpRequest(); // инициализируем только что созданный запрос
xhr.open("GET", "https://test.com/info"); // определяем параметры для запроса
xhr.responseType = "document"; // если указано, тип данных должен быть пустой строкой или "document"
xhr.overrideMimeType("text/xml"); // переопределяем MIME тип и принудительно анализируем ответ, возвращаемый сервером в формате XML
xhr.onload = function() { // добавляем обработчик события
console.log(xhr.responseXML); // выводим в консоль содержимое свойства
};
xhr.send(); // отправляем запрос на сервер