From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- .../web/api/xmlhttprequest/responsexml/index.html | 142 +++++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 files/ru/web/api/xmlhttprequest/responsexml/index.html (limited to 'files/ru/web/api/xmlhttprequest/responsexml') diff --git a/files/ru/web/api/xmlhttprequest/responsexml/index.html b/files/ru/web/api/xmlhttprequest/responsexml/index.html new file mode 100644 index 0000000000..950d731c0d --- /dev/null +++ b/files/ru/web/api/xmlhttprequest/responsexml/index.html @@ -0,0 +1,142 @@ +--- +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
+
{{domxref("XMLHttpRequest.responseType", "responseType")}} не является "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
+ +

Браузерная совместимость

+ +
{{CompatibilityTable}}
+ +
+ + + + + + + + + + + + + + + + + + + + + +
FeatureChromeFirefox (Gecko)[1]Microsoft EdgeInternet ExplorerOperaSafari (WebKit)
Базовая поддержка{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +
+ + + + + + + + + + + + + + + + + + + + + +
FeatureAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Базовая поддержка{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}{{CompatUnknown}}{{CompatVersionUnknown}}{{CompatVersionUnknown}}
+
+ +

[1]  До Firefox 51, обработка ошибок полученных данных добавляла узел <parsererror> в верх {{domxref("Document")}} и затем возвращала Document в каком бы состоянии он ни оказывался. Это было расхождение со спецификацией. Начиная с Firefox 51 сейчас в этом случае возвращается null, как и указано в спецификации.

+ +

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

+ + -- cgit v1.2.3-54-g00ecf