Let's say I've a code:
$.post("test.php", function(data) {
alert("Data Loaded: " + data);
});
Is there any way to check if the request have failed (e.g. due to the timeout)?
Yes there is, from the jQuery documentation:
$.post("test.php", function(data) { alert("Data Loaded: " + data); }) .fail(function() { alert("error"); })
Update: drake7077: "error is deprecated as of jquery 1.8, use .fail()"
Two possibilities:
You can register an "ajax error" general callback, which will be called when any ajax operation fails:
$(document).ajaxError(function(event, jqXHR, settings, exception) { ... });
You can fall back to $.ajax()
instead and include your own error handler directly.
edit — @amosrivera is right - the new "Deferred" return values allow for introduction of handlers. Those are available with jQuery 1.5 and newer.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With