XMLHttpRequest.responseXML - Web API 接口参考 编辑
XMLHttpRequest.responseXML 属性是一个只读值,它返回一个包含请求检索的HTML或XML的Document
,如果请求未成功,尚未发送,或者检索的数据无法正确解析为 XML 或 HTML,则为 null。默认是当作“text / xml” 来解析。当 responseType
设置为 “document” 并且请求已异步执行时,响应将被当作 “text / html” 来解析。responseXML
对于任何其他类型的数据以及 data:
URLs 为 null。
responseXML
在这个属性的历史堪称神器,它可以同时在 HTML 和 XML 中工作
如果服务器没有明确指出 Content-Type
头是 "text/xml"
还是 "application/xml"
, 你可以使用XMLHttpRequest.overrideMimeType()
强制 XMLHttpRequest
解析为 XML.
语法
var data = XMLHttpRequest.responseXML;
值
Document
中包含从 XMLHttpRequest
中收到的 HTML 节点或解析后的 XML 节点,也可能是在没有收到任何数据或数据类型错误的情况下返回的 null.
例外
InvalidStateError
responseType
既不是"document"
也不是空字符串 (接收的数据应是XML 或 HTML).
示例
var xhr = new XMLHttpRequest();
xhr.open('GET', '/server', true);
// 如果已指明,responseType 必须是空字符串或 "document"
xhr.responseType = 'document';
// overrideMimeType() 用来强制解析 response 为 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);
规范
规范 | 状态 | 注释 |
---|---|---|
XMLHttpRequest | Living Standard | WHATWG living standard |
浏览器兼容性
We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!Feature | Chrome | Firefox (Gecko)[1] | Microsoft Edge | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | ? | (Yes) | (Yes) | ? | (Yes) | (Yes) |
[1] 在 Firefox 51 之前, 解析收到数据的错误会在 Document
的顶部添加一个 <parsererror>
节点,并且在任何状态下返回 Document 。这是不符合规范的。从 Firefox 51开始,这种情况可以正确的返回 null。
了解更多
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论