XMLHttpRequest:responseXML 屬性
注意:此功能在 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。
異常
InvalidStateErrorDOMException-
如果
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 |
瀏覽器相容性
載入中…
另見
XMLHttpRequestXMLHttpRequest.responseXMLHttpRequest.responseType- 解析和序列化 XML
- 將 XML 解析為 DOM 樹:
DOMParser - 將 DOM 樹序列化為 XML:
XMLSerializer(具體來說是serializeToString()方法)