XMLHttpRequest: responseXML 属性

基线 广泛可用

此功能已得到良好建立,并且适用于许多设备和浏览器版本。它自以下日期起在所有浏览器中都可用 2015 年 7 月.

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

XMLHttpRequest.responseXML 只读属性返回一个 Document,其中包含请求检索到的 HTML 或 XML;如果请求不成功、尚未发送或数据无法解析为 XML 或 HTML,则返回 null

注意:responseXML 的名称是此属性历史的产物;它适用于 HTML 和 XML。

通常,响应被解析为“text/xml”。如果 responseType 设置为“document”,并且请求是异步发出的,则响应将被解析为“text/html”。对于任何其他类型的数据,以及对于 data: URLresponseXML 都是 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

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅