IE突然开始在XDomainRequest中抛出"拒绝访问"错误,我不知道到底发生了什么
if ($.browser.msie && window.XDomainRequest) {
// Use Microsoft XDR
var xdr = new XDomainRequest(),
url = 'http://someurl.com/x=1&y=2';
xdr.open("get", url);
xdr.onload = function () {
doTheThing();
};
xdr.onprogress = function(){ };
xdr.ontimeout = function(){ };
xdr.onerror = function () { };
setTimeout(function(){
xdr.send();
}, 0);
}
这个错误与xdr.open("get",url)有关,奇怪的是,这个代码运行得很好,而且这个解决方案在我搜索的所有地方都使用。
使用XDomainRequest有限制。如果你的页面恰好在https中,而你的目标是http,那么你会收到这个错误。
请注意,请求必须针对与托管页面相同的方案。此限制故意阻止HTTPS页面对基于HTTP的资源进行XDomainRequest
更多详细信息可以在这里找到:
http://blogs.msdn.com/b/ieinternals/archive/2010/05/13/xdomainrequest-restrictions-limitations-and-workarounds.aspx