У меня есть (потенциально) длительные вызовы ajax, которые я хотел бы прервать, если пользователь перейдет на другую страницу. Следующий код вызовы JQuery отмены всех незавершенных объектов XMLHttpRequest при навигации от страницы:Браузер ждет завершения вызова ajax даже после того, как был вызван прерывание (jQuery)
$.ajaxSetup({
beforeSend: function(xhr) {
$(window).bind('beforeunload', function() {
xhr.abort();
});
}
});
В тестовом случае, я заставить 10-секундную паузу на работу на стороне сервера вызывается. Используя Firebug, я подтвердил, что приведенный выше код действительно заставит все ожидающие вызовы ajax останавливаться немедленно, когда я нажимаю любую ссылку на странице. Тем не менее, браузер все еще ждет 10 секунд, прежде чем перейти к следующей странице. Похоже, что IE проявляет такое же поведение. Это известное поведение браузера? Есть ли что-нибудь, что я могу сделать, чтобы позволить пользователю мгновенно перейти от страницы в этой ситуации? Заранее спасибо.
Как выглядит вызов Ajax? – epascarello