0
我想为AJAX期间发生的未引发异常实现某种处理程序,但因为我是新的,我似乎无法获得它的挂起。我在测试设置中遇到过的情况是,发生异常时不会返回客户端。此外,这些例外都没有被ELMAH处理。在AJAX期间未处理的异常
所以这个问题有两个部分:
- 我如何获得服务器发回一些有意义的,这样的错误代码和信息,以便客户端可以告知。
- 如何让ELMAH记录AJAX回调期间发生的异常?
谢谢。
我想为AJAX期间发生的未引发异常实现某种处理程序,但因为我是新的,我似乎无法获得它的挂起。我在测试设置中遇到过的情况是,发生异常时不会返回客户端。此外,这些例外都没有被ELMAH处理。在AJAX期间未处理的异常
所以这个问题有两个部分:
谢谢。
难道你不能尝试/抓住你的服务器端代码,然后传递一些有意义的东西,以便客户端可以输出有用的错误消息?
我不确定为什么ELMAH没有记录你未捕获的异常,如果它发生的服务器端虽然。你确定它陷害其他错误?
$.ajax({
type: "post", url: "/SomeController/SomeAction",
success: function (data, text) {
//...
},
error: function (request, status, error) {
alert(request.responseText);
}
});
或通用处理器
$(function() {
$.ajaxSetup({
error: function(jqXHR, exception) {
if (jqXHR.status === 0) {
alert('Not connect.\n Verify Network.');
} else if (jqXHR.status == 404) {
alert('Requested page not found. [404]');
} else if (jqXHR.status == 500) {
alert('Internal Server Error [500].');
} else if (exception === 'parsererror') {
alert('Requested JSON parse failed.');
} else if (exception === 'timeout') {
alert('Time out error.');
} else if (exception === 'abort') {
alert('Ajax request aborted.');
} else {
alert('Uncaught Error.\n' + jqXHR.responseText);
}
}
});
});
是的,它是捕捉其他错误,是的,我可以做周围的所有的我的代码尝试捕捉,但似乎并不像一个很好的解决方案给我。 – TheGateKeeper
如果你知道有可能抛出了异常,那么我就会陷入它。 – Jon
我已经捕获了所有可能的错误(我认为),但为了以防万一,我会有一个全面的包装。 – TheGateKeeper