我尝试使用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可能是导致其失效的原因。
有没有办法让这项工作。
感谢。
答案 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来测试。