如何显示从jquery ajax调用引发的.net异常?



我绝对确定这一定是重复的,但我找不到我正在寻找的答案,所以理想情况下,一些善良的灵魂将能够快速关闭它作为重复项并指出我正在寻找的答案。

我对 .net MVC 操作进行 ajax 调用,并抛出异常。如何在 ajax 调用的错误函数中获取异常消息?

需要明确的是,我不想在 .net 中捕获异常,然后发送将在成功函数中接收的消息。在我的第一个开发工作中,这种方法是在 API 中采用的,它实际上花费了杂货店很多钱,因为开发人员没有阅读文档并且错误地实现了集成。如果有实际的错误,这永远不会发生。

同样,这是处理付款,我不希望有人无意中批准订单,因为他们没有阅读文档(首先不会有文档,因为这是在内部用于小型企业(并认为因为没有抛出错误,订单必须已成功处理。

话虽如此,我只是在寻找最简单的方法来获取异常的 Message 属性并显示它(异常本身不是自定义的,但它上的消息将是;所以不用担心意外异常会泄露系统详细信息(。

编辑:我现在意识到我被要求的东西是不可能的。我真正想要的东西是

a( 运行 ajax 方法的错误回调(当然,不运行成功回调(

b( 能够访问异常消息

通常,异常会发回 500 响应。我是否可以修改响应以将消息放在可以从错误回调访问的地方?

你可以试试这个: error:function(( 将捕获异常

$.ajax({
url: '',
type: "",
data:'',
beforeSend:function(){
},
success: function (data) {
},
error: function (jqXHR, exception) {
var msg = '';
if (jqXHR.status === 0) {
msg = 'Not connect.n Verify Network.';
} else if (jqXHR.status == 404) {
msg = 'Requested page not found. [404]';
} else if (jqXHR.status == 500) {
msg = 'Internal Server Error [500].';
} else if (exception === 'parsererror') {
msg = 'Requested JSON parse failed.';
} else if (exception === 'timeout') {
msg = 'Time out error.';
} else if (exception === 'abort') {
msg = 'Ajax request aborted.';
} else {
msg = 'Uncaught Error.n' + jqXHR.responseText;
}
console.log(msg);
}

最新更新