当origin是ms-local-stream时,使用jquery Ajax调用访问被拒绝的异常

时间:2018-06-04 10:16:08

标签: jquery ajax windows cors internet-explorer-11

我尝试使用origin作为ms-local-stream进行ajax调用,并将目标作为Intranet上的服务器。但请求失败了。

甚至没有提出要求(见Charles)。并且“拒绝访问”'被立即抛出。

Ajax调用的形式如下:

    $.ajax({
          type: 'POST',
          url: url,
          async: false,
          contentType: 'application/json',
          cache: false,
          });

我见过很多关于Windows CORS的帖子和帖子。但是,当呼叫甚至没有到达网络时,我无法弄清楚如何获得像Access-Control-Allow-Origin这样的报头。

我还尝试将源( ms-local-stream:// 7d987b49-2425-46db-b5a2-55b6ed708472_6c63666f726d73 )添加到Internet Explorer中的受信任站点(仅供测试) 。但它也不起作用。答案如下:Access denied in IE 10 and 11 when ajax target is localhost可能是导致其失效的原因。

有没有办法让这项工作。

感谢。

1 个答案:

答案 0 :(得分:0)

Internet Explorer将此错误作为其安全区域功能的一部分引发。尝试从“Internet”区域中的原点访问“本地Intranet”区域中的资源时,使用默认安全设置会出现“访问被拒绝”错误。

如果您手动编写Ajax代码,则在尝试打开资源时Internet Explorer会引发错误。例如:

 var xhr = new XMLHttpRequest();
 xhr.open('GET', 'http://localhost/', true); 
 xhr.send();

您可以通过将原始站点添加到“受信任的站点”安全区域来解决此错误。您可以通过将“http://client.cors-api.appspot.com”添加到“受信任的站点”区域并使用test-cors.org上的此测试页面将您的localhost站点作为远程URL来测试。