我有一个使用jQuery 1.4.2脚本的iframe.同样的iframe被注入到两个http和https站点中.jQuery脚本作为相对路径包含在主HTML文件中(例如,/ scripts/jquery-1.4.2.min.js).
进行AJAX调用时,Internet Explorer拒绝访问.AJAX正在调用另一个子域,但它正在使用正确的协议.所有其他浏览器都可以工作,但Internet Explorer会出现以下错误:
SCRIPT5:访问被拒绝.
jquery-1.4.2.min.js,第127行字符344
我听说这个错误来自跨域AJAX调用.但为什么IE是唯一一个给我废话的人呢?有IE解决方案吗?
另外,这是我的AJAX:
$.ajax({
url: thisURL,
dataType: "json",
data: {cmd : 'getMessage', uurl: urlVar, t: Math.random()},
success: function(ret){
callback(ret)
}
});
Run Code Online (Sandbox Code Playgroud) var xhttp=new XMLHttpRequest();
xhttp.open('GET', 'foo.xml', false);
Run Code Online (Sandbox Code Playgroud)
F12弹出:SCRIPT5:访问被拒绝.在第95行,这是xhttp.open行.
我的JavaScript似乎格式正确,Firefox做了我认为应该做的事情.
我已经阅读了很多与此非常类似的问题,所以我查看了同源策略,但我看不出它是如何应用的,因为foo.xml与html文件位于同一目录中.我在我的本地Intranet上打开了脚本权限,并告诉迈克菲休息五分钟,这是肯定的.我甚至试过以管理员身份运行IE,所以这不是真正的权限问题吗?为什么IE会被拒绝访问本地文件?