我有一个非常简单的 ajax 请求(见下文)。服务器正在使用 CORS 并且在 IE 10+、Chrome、Firefox 和 Opera 中运行良好. On 微软边缘但是,它失败了
XMLHttpRequest:网络错误 0x80070005,访问被拒绝。
我研究过帖子here https://stackoverflow.com/questions/14527387/script7002-xmlhttprequest-network-error-0x2ef3-could-not-complete-the-operati, here https://stackoverflow.com/questions/25922043/ie-https-cors-xhr-request-fails-with-script7002-xmlhttprequest-network-error-0, here https://stackoverflow.com/questions/18706208/xmlhttprequest-access-denied-with-angularjs-on-any-ie-version-below-10 and here https://stackoverflow.com/questions/25922043/ie-https-cors-xhr-request-fails-with-script7002-xmlhttprequest-network-error-0,但找不到有效的答案。这些人在使用 IE 时遇到了问题,但添加 contentType(此获取不需要)和 crossDomain 可以正常工作。
CanIUse http://caniuse.com/#feat=cors似乎表明 CORS 在 Edge 中可用。该请求在 IE9 关闭时也会失败,但 CanIUse 声明仅部分支持 CORS,因此这是可以理解的。
有什么想法可以解决这个问题吗?
Code:
$.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);
}
});
Update
添加更多信息以防提供任何线索 - ajax 请求来自 Azure 并发布到使用 OWIN 自托管创建的本地主机网站。这是不寻常的,但软件(只能在本地使用)需要从云服务获取数据。如前所述,它适用于所有其他浏览器,Edge 是唯一的问题。
对于使用 Microsoft Edge 的开发人员来说,这个问题应该不再存在。如果您在本地主机测试中遇到问题,请导航至关于:旗帜,并确保允许本地主机环回已检查。
微软边缘没有现在支持(开箱即用)本地主机测试。不过,您可以按照此处提供的指导来启用它:http://dev.modern.ie/platform/faq/how-can-i-debug-localhost/ http://dev.modern.ie/platform/faq/how-can-i-debug-localhost/.
我们正在努力在未来的版本中解决这个问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)