Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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 获取XmlHttpRequest的部分结果会冻结IE 11中的浏览器_Javascript_Ajax_Internet Explorer_Xmlhttprequest - Fatal编程技术网

Javascript 获取XmlHttpRequest的部分结果会冻结IE 11中的浏览器

Javascript 获取XmlHttpRequest的部分结果会冻结IE 11中的浏览器,javascript,ajax,internet-explorer,xmlhttprequest,Javascript,Ajax,Internet Explorer,Xmlhttprequest,我有一个脚本,它从XmlHttpRequest读取数据,并偶尔为它读取的数据调用指定的回调。这样做是为了用户不必下载整个文件就可以开始查看它 因此,在发送请求后,我添加了readystatechange事件的处理程序,简化后的处理程序如下: request.onreadystatechange = function () { if (request.readyState !== 3 && request.readyState !== 4 || request.status

我有一个脚本,它从XmlHttpRequest读取数据,并偶尔为它读取的数据调用指定的回调。这样做是为了用户不必下载整个文件就可以开始查看它

因此,在发送请求后,我添加了readystatechange事件的处理程序,简化后的处理程序如下:

request.onreadystatechange = function () {
    if (request.readyState !== 3 && request.readyState !== 4 || request.status !== 200) {
        return;
    }

    var responseText = request.responseText;
    if (responseText.length === 0) {
        return;
    }

    if (stream.offset + responseText.length > stream.processed) {
        var chunk = responseText.substring(stream.processed - stream.offset);
        stream.processed += chunk.length;
        stream.callback(chunk);
    }
};
它在Chrome36和Firefox31中运行良好,但在IE11中,页面会冻结一分钟

所以我运行了探查器,第一行是


所以我的问题是:为什么访问responseText要花这么多时间?我能做些什么?

你解决过这个问题吗?我也遇到过同样的问题。不幸的是,我没有。我刚刚调整了设置,在IE中调用回调的次数减少了。