Как определить тайм-аут с помощью глобального обработчика событий jQuery Ajax

глобальные обработчики событий Ajax, которые прикреплены с jQuery.ajaxError или jQuery.ajaxComplete похоже, не получают никакой информации о том, является ли сбой выборки результатом тайм-аута. Есть указания, как я могу обнаружить тайм-ауты? Будет проверка, чтобы увидеть, если status свойство объекта jqXHR равно 0 быть надежным методом?

1 ответов


вероятно, есть некоторые различия как вы определили глобальный обработчик событий jQuery Ajax. Вы не опубликовали свой код. Я попробовал следующее

$(document).bind("ajaxError", function (e, jqXHR, ajaxSettings, thrownError) {
    // log the event
});
$(document).bind("ajaxComplete", function (e, jqXHR) {
    // log the event
});

С помощью jQuery 1.7.1 и я вижу, что в случае ошибки тайм-аута всегда как ajaxError и ajaxComplete называлась.

вы можете проверить это в простая демонстрация которые отображаются в моих тестах либо

enter image description here

в случае успеха или

enter image description here

по ошибки тайм-аута.