使用IE'拒绝访问;s XDomainRequest打开(“get”,url)

Access denied with IE's XDomainRequest open("get",url)

本文关键字:get url XDomainRequest IE 拒绝访问 使用 打开      更新时间:2023-10-03

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