XMLHttpRequest: свойство responseXML
Базовая реализация Широко поддерживается
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Примечание: Эта функция доступна в Потоках Web Workers, за исключением Service Workers.
Это XMLHttpRequest.responseXML только для чтения, возвращающее Document, содержащий HTML или XML, полученные в результате запроса; или null если запрос не удался, ещё не отправлен или данные нельзя обработать как XML или HTML.
Примечание: Название responseXML — артефакт истории этого свойства; оно работает как для HTML, так и для XML.
Обычно ответ парсится как "text/xml". Если свойство responseType установлено в значение "document" и запрос выполнялся асинхронно, то ответ парсится как "text/html". responseXML — это null для всех других типов данных, а также для data: URL.
Если сервер не указывает Content-Type как "text/xml" или "application/xml", вы можете использовать XMLHttpRequest.overrideMimeType(), чтобы всё равно обработать его как XML.
Это свойство недоступно для потоков.
Значение
A Document полученный путём парсинга XML или HTML, полученного с помощью XMLHttpRequest, или null если данные не были получены или данные не являются XML/HTML.
Исключения
-
InvalidStateErrorDOMException -
Выбрасывается, если
responseTypeне являетсяdocumentили пустой строкой.
Примеры
const xhr = new XMLHttpRequest();
xhr.open("GET", "/server");
// If specified, responseType must be empty string or "document"
xhr.responseType = "document";
// Force the response to be parsed as XML
xhr.overrideMimeType("text/xml");
xhr.onload = () => {
if (xhr.readyState === xhr.DONE && xhr.status === 200) {
console.log(xhr.response, xhr.responseXML);
}
};
xhr.send();
Спецификации
| Спецификация |
|---|
| XMLHttpRequest # the-responsexml-attribute |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
responseXML |
1 | 12 | 1До Firefox 51, ошибка при парсинге полученных данных добавляла узел<parsererror> в начало Document и возвращала Document в текущем состоянии. Это не соответствовало спецификации. Начиная с Firefox 51, в этой ситуации теперь правильно возвращается null в соответствии со спецификацией. |
≤12.1 | 3 | 18 | 4До Firefox для Android 51, ошибка при парсинге полученных данных добавляла узел<parsererror> в начало Document и возвращала Document в текущем состоянии. Это не соответствовало спецификации. Начиная с Firefox для Android 51, в этой ситуации теперь правильно возвращается null в соответствии со спецификацией. |
≤12.1 | 1 | 1.0 | ≤37 |
См. также
XMLHttpRequestXMLHttpRequest.responseXMLHttpRequest.responseType- Парсинг и сериализация XML
- Парсинг XML в дерево DOM:
DOMParser - Сериализация дерева DOM в XML:
XMLSerializer(в частности, методserializeToString())
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseXML