XMLHttpRequest:responseXML 屬性

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

注意:此功能在 Web Workers 中可用,但 Service Workers 除外。

XMLHttpRequest.responseXML 只讀屬性返回一個 Document 物件,其中包含透過請求檢索到的 HTML 或 XML;如果請求不成功、尚未傳送,或者資料無法解析為 XML 或 HTML,則返回 null

注意:responseXML 這個名稱是該屬性歷史遺留的產物;它同時適用於 HTML 和 XML。

通常,響應被解析為 "text/xml"。如果 responseType 被設定為 "document" 並且請求是非同步發起的,則響應會被解析為 "text/html"。對於任何其他型別的資料,以及 data: URL,responseXML 都將是 null

如果伺服器沒有將 Content-Type 指定為 "text/xml""application/xml",您可以使用 XMLHttpRequest.overrideMimeType() 來將其作為 XML 解析。

此屬性不適用於 Worker。

使用 XMLHttpRequest 解析接收到的 XML 或 HTML 所得的 Document 物件,如果沒有接收到資料或資料不是 XML/HTML,則返回 null

異常

InvalidStateError DOMException

如果 responseType 不是 document 或空字串,則會丟擲異常。

示例

js
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

瀏覽器相容性

另見