javascript - XmlHttpRequest.onload 在 Edge 浏览器中不起作用
问题描述
我遇到了 Microsoft Edge 浏览器无法执行的问题XmlHttpRequest.onload
。但它确实在 Chrome、Firefox 和 Safari 中执行。
我正在创建一个 XmlHttpRequest 对象:
var xhr = new XMLHttpRequest();
xhr.responseType = "json";
xhr.open("POST", authenticateUrl, true);
xhr.setRequestHeader("X-OpenAM-Username", email);
xhr.setRequestHeader("X-OpenAM-Password", password);
xhr.setRequestHeader("Content-Type", "application/json");
alert("XHR object is created");
xhr.onload = function () {
alert("start onload...");
//...receives response from service...
}
xhr.send();
用于验证其到达特定代码行的警报。创建 XMLHttpRequest 对象后,代码进入onload
函数。Microsoft Edge 不会参与其中。正如我所说,Chrome、Firefox 和 Safari 可以很好地执行此代码。
让 Microsoft Edge 运行此代码是否还需要一些额外的东西?
解决方案
将xhr.responseType = "json"
线放在后面xhr.open(...)
因为xhr.responseType
同步请求是不允许的,这是由open()
调用中的第三个参数确定的。
等等,那是在 IE11 中,我在 Edge 中尝试过你的代码片段,它运行得很好。
尝试添加一个
xhr.onerror = err => alert('Error:' + err.message);
查看是否发生错误。
推荐阅读
- c++ - WinSock UDP IP_DONTFRAGMENT
- angular - 打字稿复杂构造函数
- ios - 导航栏上自定义titleView和后退按钮之间的间距
- python - 当我 pip 安装它时,pyproj 无法编译。这与 gcc 无关
- django - 使当前用户只能访问用户配置文件
- java - 使用从 Java 导入的自定义模块运行 Python 脚本
- javascript - 背景颜色不适用于动态插入的元素
- python - 值错误将嵌套列表保存到 DataFrame - Python,Pandas
- java - 如何增加 Windows 服务器上的线程限制?
- typescript - 如何在 TypeScript 模块类型中声明某些内容而不导出它?