How to catch error in jQuery's load() method
Solution 1:
load() documentation.
Just a little background on how a load error happens...
$("body").load("/someotherpath/feedsx.pxhp", {limit: 25},
function (responseText, textStatus, req) {
if (textStatus == "error") {
return "oh noes!!!!";
}
});
Edit: Added a path other than the root path as requested by comments.
Solution 2:
Besides passing a callback to the load() function as Ólafur Waage suggests, you can also register "global" error handlers (global as in global for all ajax calls on the page).
There are at least two ways to register global Ajax error handlers :
Register just the error handler with ajaxError()
:
$.ajaxError(function(event, request, settings) {
alert("Oops!!");
});
Or, use ajaxSetup()
to set up an error handler and other properties at the same time:
$.ajaxSetup({
timeout: 5000,
error: function(event, request, settings){
alert("Oops!");
}
});
Solution 3:
load() offers a callback.
Callback.
The function called when the ajax request is complete (not necessarily success).
This is how its done IIRC. (haven't tested it)
$("#feeds").load("feeds.php", {limit: 25},
function (responseText, textStatus, XMLHttpRequest) {
// XMLHttpRequest.responseText has the error info you want.
alert(XMLHttpRequest.responseText);
});