XMLHttpRequest:responseType 属性
注意:此功能在 Web Workers 中可用,但 Service Workers 除外。
responseType 属性是 XMLHttpRequest 的一个枚举字符串值,用于指定响应中包含的数据类型。
它还允许开发者更改响应类型。如果 responseType 的值被设置为一个空字符串,则会使用默认值 text。
值
一个指定响应包含何种类型数据的字符串。它可以接受以下值:
""-
空字符串的
responseType与"text"(默认类型)相同。 "arraybuffer"-
response是一个包含二进制数据的 JavaScriptArrayBuffer。 "blob"-
response是一个包含二进制数据的Blob对象。 "document"-
response是一个 HTMLDocument或 XMLXMLDocument,具体取决于接收到的数据的 MIME 类型。要了解更多关于使用 XHR 获取 HTML 内容的信息,请参阅 XMLHttpRequest 中的 HTML。 "json"-
response是通过将接收到的数据内容解析为 JSON 而创建的 JavaScript 对象。 "text"-
response是一个字符串形式的文本。
注意: 当将 responseType 设置为特定值时,开发者应确保服务器实际发送的响应与该格式兼容。如果服务器返回的数据与设置的 responseType 不兼容,response 的值将为 null。
异常
InvalidAccessErrorDOMException-
尝试在同步模式下的
XMLHttpRequest(且不属于Worker)上更改responseType的值。有关更多详细信息,请参阅下面的 同步 XHR 限制。
用法说明
同步 XHR 限制
在同步 XMLHttpRequest 中,你不能更改 responseType 的值,除非该请求属于一个 Worker。此限制部分是为了帮助确保同步操作不被用于可能阻塞浏览器主线程的大型事务,从而拖慢用户体验。
XHR 请求默认是异步的;只有在调用 open() 时将可选的 async 参数值设为 false,它们才会被置于同步模式。
Worker 中的限制
在 Worker 中,尝试将 responseType 的值设置为 document 的操作将被忽略。
规范
| 规范 |
|---|
| XMLHttpRequest # the-responsetype-attribute |
浏览器兼容性
加载中…