Let's say I've a code:
$.post("te开发者_运维百科st.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.
精彩评论