0

我当前使用 jQuery 的 AJAX 应用程序如下所示(简化):

$.ajax({
    url: '/somefile',
    timeout : timeOutVar,
    success: function(data) {
        console.log('success');
    },
    error: function(data) {
        console.log('error');
    }
});

我更新了该代码以使用progress事件处理程序,如下所示。

$.ajax({
    url: '/somefile',
    timeout : timeOutVar,
    success: function(data) {
        console.log('success');
    },
    error: function(data) {
        console.log('error');
    },
    xhr: function() {
        var xhr = new window.XMLHttpRequest();
        xhr.addEventListener("progress", function(evt){
            console.log('progress');
        }, false);
        return xhr;
    }
});

这在 Internet Explorer 10 和所有其他现代浏览器中完美运行。但是,在较旧的 Internet Explorer 版本中,我遇到了一个问题。IE9、8、7不调用事件处理程序progress,而是success在加载所有内容时。

所以我想知道这些旧 Internet Explorer 版本是否存在兼容性问题。不幸的是,我找不到任何资源来准确定义XmlHttpRequest哪个 IE 版本的工作部分。有人知道这样的资源或代码中可能有什么问题吗?

4

1 回答 1

0

您可以同时使用beforeSendcomplete回调来覆盖 xhr 实现。

于 2013-06-25T08:26:52.820 回答