我正在尝试在互联网上的服务器(http)之间进行ajax调用。并将其定位到我自己的本地主机。 FF / Chrome / ETC …工作。这只是一个IE问题。 IM使用IE 11和10。
请求甚至没有完成。 “被拒绝访问”立即被抛出。
这是代码。只是为了你看
IE8和IE9中的经典HTTP / HTTPS错误不是。这是别的,但文档没有帮助。
$jq.ajax({ contentType: 'application/json',url: url,dataType: 'json',crossDomain: true,beforeSend: function (xhr) { xhr.withCredentials = true; xhr.setRequestHeader("Authorization","Basic " + $jq.base64.encode(username and password)); },success: function (data,status,headers) {},error: function (xhr,error) {}
xhr对象中的状态为0,错误为“拒绝访问”
Internet Explorer会将此错误作为其安全区域功能的一部分。使用默认安全设置,尝试从“Internet”区域中的原点访问“本地Intranet”区域中的资源时,会出现“访问被拒绝”错误。
如果您手动编写Ajax代码,Internet Explorer会在尝试打开资源时引发错误。例如:
var xhr = new XMLHttpRequest(); xhr.open('GET','http://localhost/',true); // This line will trigger an error xhr.send();
您可以通过将原始站点添加到“受信任的站点”安全区域来解决此错误。您可以通过将“http://client.cors-api.appspot.com”添加到“受信任的站点”区域并使用本测试页面在test-cors.org,将本地主机站点作为远程URL来测试。