拒绝访问IE上的jQuery脚本

我有一个使用jQuery

1.4.2脚本的iframe。将相同的iframe注入到httphttps站点中。jQuery脚本作为相对路径包含在主HTML文件中(例如/scripts/jquery-1.4.2.min.js)。

进行AJAX调用时,Internet

Explorer拒绝访问。AJAX正在调用另一个子域,但它使用的是正确的协议。所有其他浏览器都可以工作,但是Internet Explorer出现以下错误:

脚本5:访问被拒绝。

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)

}

});

回答:

IE要求您为跨站点使用XDomainRequest而不是XHR,您可以尝试类似…

if ($.browser.msie && window.XDomainRequest) {

// Use Microsoft XDR

var xdr = new XDomainRequest();

xdr.open("get", url);

xdr.onload = function() {

// XDomainRequest doesn't provide responseXml, so if you need it:

var dom = new ActiveXObject("Microsoft.XMLDOM");

dom.async = false;

dom.loadXML(xdr.responseText);

};

xdr.send();

} else {

// your ajax request here

$$.ajax({

url: thisURL,

dataType: "json",

data: {cmd : 'getMessage', uurl: urlVar, t: Math.random()},

success: function(ret){

callback(ret)

}

});

}

不确定是否适合您的情况

xdr = new XDomainRequest(); 

xdr.onload=function()

{

alert(xdr.responseText);

}

xdr.open("GET", thisUrl); //thisURl ->your cross domain request URL

//pass your data here

xdr.send([data]);

以上是 拒绝访问IE上的jQuery脚本 的全部内容, 来源链接: utcz.com/qa/421858.html

回到顶部