我有一个非常简单的ajax请求(见下文)。该服务器正在使用CORS和在IE 10+,Chrome,Firefox和Opera中正常工作。在微软边缘但是,它失败XMLHttpRequest:网络错误0x80070005,访问在Microsoft Edge(但不是IE)上被拒绝
的XMLHttpRequest:网络错误0X80070005,访问被拒绝。
我已经研究了帖子here,here,here和here,却找不到问题的解答。这些人有问题与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自托管创建一个本地主机的网站。这是不寻常的,但软件(只能在本地使用)需要从云服务获取数据。如上所述,它适用于所有其他浏览器,Edge是唯一的问题。
来自**的请求即将发布的页面URL的方案是什么? – Quentin
你为什么要在GET请求中设置'content-type'头部?没有请求主体来描述内容。 – Quentin
为什么你使用'dataType:“json”**和**显式解析响应为JSON?这将尝试对它进行双重解析,这在大多数情况下都会中断。 – Quentin