Javascript XMLHttpRequest:网络错误0x80070005,在Microsoft Edge(但不是IE)上拒绝访问

Javascript XMLHttpRequest:网络错误0x80070005,在Microsoft Edge(但不是IE)上拒绝访问,javascript,ajax,internet-explorer,cors,microsoft-edge,Javascript,Ajax,Internet Explorer,Cors,Microsoft Edge,我有一个非常简单的ajax请求(见下文)。服务器使用CORS,在IE 10+、Chrome、Firefox和Opera中运行良好。但是,在Microsoft Edge上,它在以下方面失败 XMLHttpRequest:网络错误0x80070005,访问被拒绝 我已经研究了这些帖子,但是没有找到一个有效的答案。这些人在IE上有问题,但添加contentType(此get不需要)和crossDomain使其工作正常 似乎表明CORS在Edge中可用。该请求在IE9关闭时也失败了,但CanIUse只表

我有一个非常简单的ajax请求(见下文)。服务器使用CORS,在IE 10+、Chrome、Firefox和Opera中运行良好。但是,在Microsoft Edge上,它在以下方面失败

XMLHttpRequest:网络错误0x80070005,访问被拒绝

我已经研究了这些帖子,但是没有找到一个有效的答案。这些人在IE上有问题,但添加contentType(此get不需要)和crossDomain使其工作正常

似乎表明CORS在Edge中可用。该请求在IE9关闭时也失败了,但CanIUse只表示部分支持CORS,这是可以理解的

有什么办法可以解决这个问题吗

代码:

更新


为了在提供任何线索的情况下添加更多信息,ajax请求来自Azure并发布到使用OWIN自托管创建的localhost网站。这是不寻常的,但软件(只能在本地使用)需要从云服务获取数据。如上所述,它适用于所有其他浏览器,Edge是唯一的问题。

对于使用Microsoft Edge的开发人员来说,这个问题应该不再存在。如果您遇到本地主机测试问题,请导航到about:flags,并确保选中Allow localhost loopback


Microsoft Edge目前不支持(开箱即用)本地主机测试。但是,您可以按照此处提供的指导进行启用:


我们正在努力在将来的版本中解决此问题。

对于Build 10158,命令已略有更改,Spartan完全重新命名为Microsoft Edge,因此要在Microsoft Edge中启用它,请在管理员命令提示符下运行以下命令:

CheckNetIsolation.exe LoopbackExempt -a -n=Microsoft.MicrosoftEdge_8wekyb3d8bbwe

在ajax调用之前,请使用:$.support.cors=true

请求来自的页面URL的方案是什么?为什么要在GET请求上设置
内容类型
标题?没有请求主体来描述的内容。为什么要使用
数据类型:“json”
并将响应显式解析为json?这将尝试对其进行双重解析,在大多数情况下都会中断。根据更新更新了示例-除了edge之外,其他所有版本都可以使用。您是否找到解决方案?我也遇到了同样的问题。一直工作到10162版本,在10166版本中中断。从本地主机向启用CORS的远程主机发出的AJAX请求失败,出现“网络错误0x80070005”,我将进一步调查!在Build 10240中再次工作:)我安装了一个SSL证书(真实的,非自签名的),并在hosts文件中添加了一个条目以将域指向localhost。如果页面上的第一个AJAX调用是POST,则会在Microsoft Edge(生产版本)中产生网络错误。如果第一个调用是GET,那么包括后续帖子在内的一切都可以正常工作。如果清除浏览器缓存或重新启动IIS,则问题再次出现。Edge似乎不仅在localhost上,而且在iframe中也存在CORS问题:(使用Edge browser检查此链接:这将覆盖jQuery检测到的浏览器对CORS的支持。这将不会产生任何效果,也会破坏一切。不要这样做。
CheckNetIsolation.exe LoopbackExempt -a -n=Microsoft.MicrosoftEdge_8wekyb3d8bbwe