Ответ 1
Да, из документации по jQuery:
$.post("test.php", function(data) {
alert("Data Loaded: " + data);
})
.fail(function() {
alert("error");
})
Обновление: drake7077: "ошибка устарела с jquery 1.8, используйте .fail()"
Скажем, у меня есть код:
$.post("test.php", function(data) {
alert("Data Loaded: " + data);
});
Есть ли способ проверить, не провалился ли запрос (например, из-за таймаута)?
Да, из документации по jQuery:
$.post("test.php", function(data) {
alert("Data Loaded: " + data);
})
.fail(function() {
alert("error");
})
Обновление: drake7077: "ошибка устарела с jquery 1.8, используйте .fail()"
Две возможности:
Вы можете зарегистрировать общий обратный вызов "ajax error", который вызывается, когда сбой любой операции ajax:
$(document).ajaxError(function(event, jqXHR, settings, exception) { ... });
Вместо этого вы можете вернуться к $.ajax()
и включить свой собственный обработчик ошибок напрямую.
edit — @amosrivera прав - новые возвращаемые значения "Отложенные" позволяют вводить обработчики. Они доступны с jQuery 1.5 и новее.