小编典典

突然禁止设置XMLHttpRequest.responseType吗?

ajax

我一直在使用responseType设置为“
arraybuffer”的同步XMLHttpRequest加载一个二进制文件并等待它被加载一段时间。今天,我遇到了这个错误:“响应类型属性不正确,XMLHttpRequest的同步方式不正确,窗口不可用。”
大致翻译为“不再支持在window-context(?)中以同步模式使用XMLHttpRequest的responseType。”

有谁知道如何解决这一问题?我真的不想对这样的事情使用异步请求。

var xhr = new XMLHttpRequest();
xhr.open('GET', url, false);
xhr.responseType = 'arraybuffer';

在chrome中效果很好。


阅读 349

收藏
2020-07-26

共1个答案

小编典典

XMLHttpRequest规范中所定义,这是正确的行为:

设置时:如果设置"InvalidAccessError" 同步
标志
并且存在关联的XMLHttpRequest文档,则抛出异常。

responseTypeXMLHttpRequest非异步(即同步)时,无法设置该属性。将的第三个参数设置openfalse会导致请求
同步

2020-07-26