所以我有以下ajax查询失败。调用ajaxError并抛出异常。但不幸的是,这个例外没有得到解决。任何想法如何抓住它?
try {
function ajaxError(request, type, message) {
throw 'ajaxerror ' + type + ' ' + message;
}
jQuery.ajax({
url: 'http://nonexisting-example.com',
error: ajaxError,
});
}
catch (error) {
alert('This: ' + error);
}
答案 0 :(得分:0)
这是因为ajax是异步的,当你的ajaxError func实际被调用时,catch块已经被传递了。如果你想在ajax调用期间抓住你的错误,你可以这样做:
function ajaxError(request, type, message) {
try {
throw 'ajaxerror ' + type + ' ' + message;
} catch (error) {
alert('This: ' + error);
}
}
jQuery.ajax({
url: 'http://nonexisting-example.com',
error: ajaxError,
});
或者您可以应用发布/订阅模式来捕获异步错误