XMLHttpRequest.responseType
>XMLHttpRequest 属性 responseType 是一个枚举字符串值,用于指定响应中包含的数据类型。
它还允许作者更改响应类型。如果将 responseType 的值设置为空字符串,则会使用 text 作为默认值。
语法
var type = XMLHttpRequest.responseType;
XMLHttpRequest.responseType = type;
值
Global_Objects/String 类型的值,指定响应包含的数据类型。它可以采用以下值:
""-
空的
responseType字符串与默认类型"text"相同。 "arraybuffer"-
response是一个包含二进制数据的 JavaScriptArrayBuffer。 "blob""document"-
response是一个 HTMLDocument或 XMLXMLDocument,根据接收到的数据的 MIME 类型而定。请参阅 XMLHttpRequest 中的 HTML,了解有关使用 XHR 获取 HTML 内容的更多信息。 "json""text""ms-stream"-
response是流式下载的一部分;此响应类型仅允许用于下载请求,并且仅受 Internet Explorer 支持。
备注:将 responseType 设置为特定值时,作者应确保服务器实际发送的响应与该格式兼容。如果服务器返回的数据与设置的 responseType 不兼容,则 response 的值将为null .
异常
InvalidAccessError-
试图更改
XMLHttpRequest的responseType,该值处于同步模式但不在Worker中。有关其他详细信息,请参阅下面的 同步 XHR 限制。
使用说明
>同步 XHR 限制
你不能在同步XMLHttpRequest 中更改 responseType 的值,除非请求属于 Worker。此限制部分旨在帮助确保同步操作不会用于阻塞浏览器主线程的大型事务,从而阻碍用户体验。
XHR 请求默认是异步的;它们仅通过在调用 open() 时将 false 作为可选async 参数的值传递来置于同步模式。
Worker 中的限制
在 Worker 中尝试将 responseType 的值设置为 document 时会被忽略。
规范
| 规范 |
|---|
| XMLHttpRequest> # the-responsetype-attribute> |