XMLHttpRequest.responseType 属性是一个枚举类型的属性,返回响应数据的类型。它允许我们手动的设置返回数据的类型。如果我们将它设置为一个空字符串,它将使用默认的"text"类型。
在工作环境(Work Environment)中将responseType的值设置为"document"通常会被忽略. 当将responseType设置为一个特定的类型时,你需要确保服务器所返回的类型和你所设置的返回值类型是兼容的。那么如果两者类型不兼容呢?恭喜你,你会发现服务器返回的数据变成了null,即使服务器返回了数据。还有一个要注意的是,给一个同步请求设置responseType会抛出一个InvalidAccessError
的异常。
responseType支持以下几种值:
""
responseType
为空字符串时,采用默认类型 DOMString
,与设置为 text
相同。
arraybuffer
response
是一个包含二进制数据的 JavaScript ArrayBuffer
。
blob
response
是一个包含二进制数据的 Blob
对象 。
document
response
是一个 HTML Document
或 XML XMLDocument
,这取决于接收到的数据的 MIME 类型。请参阅 XMLHttpRequest 中的 HTML 以了解使用 XHR 获取 HTML 内容的更多信息。
json
response
是一个 JavaScript 对象。这个对象是通过将接收到的数据类型视为 JSON 解析得到的。
text
response
是一个以 DOMString
对象表示的文本。
ms-stream
response
是下载流的一部分;此响应类型仅允许下载请求,并且仅受 Internet Explorer 支持。
规范
规范 | 状态 | 注释 |
---|---|---|
XMLHttpRequest | Living Standard | WHATWG living standard |
浏览器兼容性
Report problems with this compatibility data on GitHub
desktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox Android | Opera Android | iOS Safari | Samsung Internet | |
| Full support31 | Full support12 | Full support6 | Full support10 | No support12 — 15 | Full support7 | Full support55 | Full support55 | Full support50 | Full support42 | Full support7 | Full support6.0 |
arraybuffer | Full support31 | Full support12 | Full support6 | Full support10 | No support12 — 15 | Full supportYes | Full support55 | Full supportYes | Full support50 | Full supportYes | Compatibility unknown; please update this.? | Full supportYes |
blob | Full support31 | Full support12 | Full support6 | Full support10 | Full support18 | Full supportYes | Full support55 | Full supportYes | Full support50 | Full supportYes | Compatibility unknown; please update this.? | Full supportYes |
document | Full support31 | Full support12 | Full support11 | Full support10 | No supportNo | Full support7 | Full support55 | Full supportYes | Full support50 | Full supportYes | Compatibility unknown; please update this.? | Full supportYes |
json | Full support31 | Full support79 | Full support10 | No supportNo | No support12 — 15 | Full support7 | Full support55 | Full supportYes | Full support50 | Compatibility unknown; please update this.? | Compatibility unknown; please update this.? | Full supportYes |
moz-blob | No supportNo | No supportNo | No support12 — 58 | No supportNo | No supportNo | No supportNo | No supportNo | No supportNo | No supportNo | No supportNo | No supportNo | No supportNo |
moz-chunked-arraybuffer | No supportNo | No supportNo | No support14 — 68 | No supportNo | No supportNo | No supportNo | No supportNo | No supportNo | No support50 — 68 | No supportNo | No supportNo | No supportNo |
Legend
Full support
Full support
No support
No support
Compatibility unknown
Compatibility unknown
Non-standard. Expect poor cross-browser support.
Deprecated. Not for use in new websites.