相关疑难解决方法(0)

即使在调用abort之后浏览器也会等待ajax调用完成(jQuery)

我有一些(可能)长时间运行的ajax调用,如果用户导航到另一个页面,我想中止.以下jQuery代码在导航离开页面时调用所有挂起的XMLHttpRequest对象的中止:

$.ajaxSetup({
    beforeSend: function(xhr) {
        $(window).bind('beforeunload', function() {
            xhr.abort();
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

在测试用例中,我强制在被调用的服务器端操作上等待10秒.使用Firebug,我确认上面的代码确实导致所有挂起的ajax调用在我单击页面上的任何链接时立即停止.但是,浏览器仍然等待整整10秒,然后再转到下一页.IE似乎表现出相同的行为.这是一个已知的浏览器行为吗?在这种情况下,我能做些什么让用户立即离开页面?提前致谢.

javascript jquery xmlhttprequest onbeforeunload abort

29
推荐指数
2
解决办法
1万
查看次数