Spec-Zone.ru › Web APIs

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.

Исключения

InvalidStateError DOMException

Выбрасывается, если 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

См. также

  • XMLHttpRequest
  • XMLHttpRequest.response
  • XMLHttpRequest.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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API