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

Hoc*_*eyJ 20 javascript ajax internet-explorer cors microsoft-edge

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

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

我已经在这里,这里,这里这里研究了这些帖子,但找不到有效的答案.那些人在使用IE时遇到了问题,但添加了contentType(此get不需要)和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);
      }
    });
Run Code Online (Sandbox Code Playgroud)

更新

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

Sam*_*son 10

使用Microsoft Edge的开发人员不应再存在此问题.如果您遇到localhost测试问题,请导航到about:flags,并确保选中Allow localhost loopback.


微软边缘不目前支持(开箱即用)本地主机测试.但是,您可以按照此处提供的指导启用它:http://dev.modern.ie/platform/faq/how-can-i-debug-localhost/.

我们正在努力在将来的版本中解决这个问题.

  • 工作到Build 10162(包括Build 10166),在Build 10166中打破.从localhost发出到远程启用CORS的主机的AJAX请求失败,出现"Network Error 0x80070005" (2认同)
  • 我安装了SSL证书(真实的,不是自签名的),并在hosts文件中添加了一个条目,将域指向localhost.如果页面上的第一个AJAX调用是POST,则会在Microsoft Edge(生产版本)中生成网络错误.如果第一个呼叫是GET,一切正常,包括后续的POST.如果清除浏览器缓存或重新启动IIS,则会再次出现此问题. (2认同)