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()方法)