Возможно, я неправильно использую событие JQuery ajaxStop, но оно не срабатывает для меня в Google Chrome. Вот мой код:
if($("#calculateButton").length > 0) {
console.log("Setting calc button event");
$("#calculateButton").ajaxStop(function() {
console.log("calculate on ajax stop");
$(this).unbind('ajaxStop');
$(this).click();
});
console.log("Sending test AJAX request");
$.ajax({
type: "POST",
url: "Backend/getcustomerrate.php",
success: function() {
console.log("AJAX request finished");
}
});
//this is what I had before testing
//Loading.loadOldQuote(qn, Loading.FOOTER);
} else {
console.log("Could not find calculate button");
setProgress("FATAL ERROR: Could not find calculate button");
}
Следующий вывод моей консоли:
Настройка события кнопки calc
Отправка теста AJAX-запроса
AJAX-запрос завершен
Я в замешательстве. Разве это не должно было вызвать событие .ajaxStop?
РЕДАКТИРОВАТЬ: тот же код вызывает соответствующее событие в Firefox, которое я в основном использую для тестирования.
EDIT2: в то же время могут выполняться другие AJAX-запросы, но эти AJAX-запросы do завершаются в конце концов. Я некоторое время оставлял страницу открытой при включенной консоли, и ожидаемое сообщение («рассчитать на остановке AJAX») не появлялось.
РЕДАКТИРОВАТЬ3: Спасибо всем. Оказывается, что Chrome останавливает выполнение скрипта при обнаружении ошибки и ничего не выводит на консоль, если это происходит. Ошибка не срабатывает в Firefox.