我有一些(可能)长期运行的ajax调用,如果用户导航到另一个页面,我想中止。在导航离开该页面下面的jQuery代码调用的所有未决的XMLHttpRequest对象中止:浏览器等待ajax调用完成,即使中止已被调用(jQuery)
$.ajaxSetup({
beforeSend: function(xhr) {
$(window).bind('beforeunload', function() {
xhr.abort();
});
}
});
在测试情况下,我强迫在服务器端运行一个10秒的等待被调用。使用Firebug,我确认上述代码确实会导致所有挂起的Ajax调用立即停止,当我点击页面上的任何链接时。但是,浏览器仍然等待整整10秒钟,然后再进入下一页。 IE似乎表现出相同的行为。这是一个已知的浏览器行为?在这种情况下,我能做些什么让用户立即离开页面?提前致谢。
Ajax调用是什么样的? – epascarello 2009-06-02 22:53:20