--- title: XMLHttpRequest.responseXML slug: Web/API/XMLHttpRequest/responseXML tags: - AJAX - API - XMLHttpRequest - Отправка - Свойство - Справка - Только для чтения - загрузка translation_of: Web/API/XMLHttpRequest/responseXML ---
{{APIRef('XMLHttpRequest')}}
Свойство XMLHttpRequest.responseXML
это доступное только для чтения значение, которое содержит {{domxref("Document")}} содержащий HTML или XML полученный запросом, или null
в случае, если запрос не был успешен, ещё не был отправлен или полученные данные не могут быть корректно обработаны как XML или HTML. Ответ обрабатывается так, как если бы это был "text/xml"
. В случае, если {{domxref("XMLHttpRequest.responseType", "responseType")}} установлен как "document"
и запрос был осуществлён асинхронно, ответ обрабатывается как "text/html"
. responseXML
содержит null
для любых других типов данных так же, как и для data:
URLs.
Название responseXML
это наследие истории этого свойства, на самом деле оно работает как для HTML, так и для XML.
Если сервер не определяет заголовок {{HTTPHeader("Content-Type")}} как "text/xml"
или "application/xml"
, вы в любом случае можете использовать {{domxref("XMLHttpRequest.overrideMimeType()")}} чтобы заставить XMLHttpRequest
обрабатывать ответ как XML.
var data = XMLHttpRequest.responseXML;
{{domxref("Document")}} содержащий древовидный результат обработки XML или HTML, полученных с использованием {{domxref("XMLHttpRequest")}}, или null
, если данные не были получены или содержат другой тип данных.
InvalidStateError
"document"
или пустой строкой (каждый из которых указывает, что принятые данные это XML или HTML).var xhr = new XMLHttpRequest(); xhr.open('GET', '/server', true); // Значение responseType, если указано, должно быть пустой строкой или "document" xhr.responseType = 'document'; // overrideMimeType() может быть использован, чтобы заставить ответ обрабатываться как XML xhr.overrideMimeType('text/xml'); xhr.onload = function () { if (xhr.readyState === xhr.DONE) { if (xhr.status === 200) { console.log(xhr.response); console.log(xhr.responseXML); } } }; xhr.send(null);
Спецификация | Статус | Комментарий |
---|---|---|
{{SpecName('XMLHttpRequest', '#the-responsexml-attribute')}} | {{Spec2('XMLHttpRequest')}} | Действующий стандарт WHATWG |
Feature | Chrome | Firefox (Gecko)[1] | Microsoft Edge | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Базовая поддержка | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Базовая поддержка | {{CompatUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} |
[1] До Firefox 51, обработка ошибок полученных данных добавляла узел <parsererror>
в верх {{domxref("Document")}} и затем возвращала Document
в каком бы состоянии он ни оказывался. Это было расхождение со спецификацией. Начиная с Firefox 51 сейчас в этом случае возвращается null,
как и указано в спецификации.