2015-06-17 70 views
18

我有一个非常简单的ajax请求(见下文)。该服务器正在使用CORS和在IE 10+,Chrome,Firefox和Opera中正常工作。在微软边缘但是,它失败XMLHttpRequest:网络错误0x80070005,访问在Microsoft Edge(但不是IE)上被拒绝

的XMLHttpRequest:网络错误0X80070005,访问被拒绝。

我已经研究了帖子herehereherehere,却找不到问题的解答。这些人有问题与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是唯一的问题。

+0

来自**的请求即将发布的页面URL的方案是什么? – Quentin

+0

你为什么要在GET请求中设置'content-type'头部?没有请求主体来描述内容。 – Quentin

+0

为什么你使用'dataType:“json”**和**显式解析响应为JSON?这将尝试对它进行双重解析,这在大多数情况下都会中断。 – Quentin

回答

10

使用Microsoft Edge的开发人员不应该存在此问题。如果您在使用本地主机测试时遇到问题,请导航至约:标记,并确保允许本地主机回送已被选中。


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

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

+2

一直工作到构建10162,包括在Build 10166中。从本地主机发布到启用远程CORS的主机的AJAX请求失败,出现“Network Error 0x80070005” – amartynov

+0

我将进一步调查! – Sampson

+0

在Build 10240中再次运行:) – amartynov

0

对于构建10158命令已经略有改变,与斯巴达的更名完全进入微软的边缘,因此使其能够在微软边缘从管理员命令提示符下运行以下命令:就在

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

您ajax调用使用这个:$ .support.cors = true;

+1

这覆盖了jQuery检测浏览器对CORS的支持。这将无效或破坏事物。不要这样做。 – Quentin

相关问题