我有一个非常简单的 ajax 请求(见下文)。该服务器使用 CORS 并且在 IE 10+、Chrome、Firefox 和 Opera 中运行良好。然而,在Microsoft Edge上,它失败了
XMLHttpRequest:网络错误 0x80070005,访问被拒绝。
我已经研究了这里、这里、这里和这里的帖子,但找不到有效的答案。那些人在使用 IE 时遇到了问题,但是添加 contentType(此获取不需要)和 crossDomain 可以正常工作。
CanIUse似乎声明 CORS 在 Edge 中可用。该请求在 IE9 关闭时也失败,但 CanIUse 仅声明对 CORS 的部分支持,因此这是可以理解的。
请问有什么办法可以解决这个问题吗?
代码:
$.ajax({
crossDomain: true,
url: "http://localhost:2023/api/DoAction/test",
success: function (a) {
var res = JSON.parse(a);
alert(res.content);
},
error: function (a, e, r) {
alert(a.responseText);
}
});
更新
添加更多信息以防提供任何线索 - ajax 请求来自 Azure,并发布到使用 OWIN 自托管创建的 localhost 网站。这是不寻常的,但软件(只能在本地使用)从云服务获取数据是必需的。如前所述,它适用于所有其他浏览器,Edge 是唯一的问题。