Javascript 未捕获jQuery错误句柄抛出
因此,我有以下失败的ajax查询。调用ajaxError并引发异常。但不幸的是,这个例外并没有被抓住。你知道怎么抓住它吗Javascript 未捕获jQuery错误句柄抛出,javascript,jquery,exception-handling,Javascript,Jquery,Exception Handling,因此,我有以下失败的ajax查询。调用ajaxError并引发异常。但不幸的是,这个例外并没有被抓住。你知道怎么抓住它吗 try { function ajaxError(request, type, message) { throw 'ajaxerror ' + type + ' ' + message; } jQuery.ajax({ url: 'http://nonexisting-example.com', error: 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);
}
这是因为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,
});
或者您可以应用发布/订阅模式来捕获异步错误我需要的是一种从ajax回调遍历错误的方法。但是,像.done(函数(){callback(data,error);})这样的回调将被证明是正确的。我只是希望有一个更好的解决方案,在搜索过程中忘记了原来的解决方案可能在某种程度上是美丽的。但是谢谢你的书面回答。