Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Internet Explorer 9-X域请求仅在兼容模式下工作_Javascript_Ajax_Internet Explorer_Internet Explorer 9_Xdomainrequest - Fatal编程技术网

Javascript Internet Explorer 9-X域请求仅在兼容模式下工作

Javascript Internet Explorer 9-X域请求仅在兼容模式下工作,javascript,ajax,internet-explorer,internet-explorer-9,xdomainrequest,Javascript,Ajax,Internet Explorer,Internet Explorer 9,Xdomainrequest,我们发现对JSON资源的ajax调用在IE9中不起作用,我们必须使用X域请求API。但是我的调用只是不调用“onload”函数,除非浏览器被设置为兼容模式——这不是一个选项 var xdr = new XDomainRequest(); // Use Microsoft XDR xdr.open('get', uri); xdr.onload = function () { //debugger; var JSON = $.parseJSON(xdr.responseText);

我们发现对JSON资源的ajax调用在IE9中不起作用,我们必须使用X域请求API。但是我的调用只是不调用“onload”函数,除非浏览器被设置为兼容模式——这不是一个选项

var xdr = new XDomainRequest(); // Use Microsoft XDR
xdr.open('get', uri);
xdr.onload = function () {
    //debugger;
    var JSON = $.parseJSON(xdr.responseText);

    if (JSON == null || typeof (JSON) == 'undefined') {
        JSON = $.parseJSON(data.firstChild.textContent);
    }

    ieCallback(JSON);
 };

xdr.onerror = function () {

    _result = false;
};

xdr.send();

这个问题是由IE9中一个明显的错误引起的,该错误导致XDR调用中止。解决方案是用空函数覆盖默认的xdr.onprogress方法:

xdr.onprogress = function () { };

佩里·米切尔发现了这个问题。有趣的是,除了在兼容模式下,它每次都会中止—可能是因为我在虚拟机上运行IE9而影响了超时。

尝试调整intranet设置,看看这是否会影响IE设置?我降低了internet区域的安全级别,并将这两个域都添加到了trusted Listie设置中,可能是这样:?感谢onprogress为我修复了它:)