4

我有一个使用 jQuery AJAX 保存数据的页面。在服务器端,如果保存过程失败,我想将 Response 对象的 StatusDescription 设置为“Hey this is Patrick!”。问题是,我无法在客户端显示 StatusDescription!它总是给我“内部服务器错误”。如何显示我的自定义错误消息?

保存.ashx

Catch ex As Exception
    Transaction.Rollback()
    context.Response.StatusCode = 500
    context.Response.StatusDescription = "Hey this is Patrick!"
End Try

AJAX

$.ajax
({
    type: 'POST',
    url: 'Save.ashx',
    data: data,
    async: false,
    success: function(Data, TextStatus, XHR) {
        alert(Data);
    },
    error: function(XHR, TextStatus, ErrorThrown) {
        alert(ErrorThrown);
    }
});
4

2 回答 2

1

使用 XHR.responseText 然后看看是什么错误。
这是关于 jQuery Call
jQuery Ajax 错误处理的错误的一个很好的链接,显示自定义异常消息

$.ajax
({
    type: 'POST',
    url: 'Save.ashx',
    data: data,
    async: false,
    success: function(Data, TextStatus, XHR) {
       alert(Data);
     },
     error: function(XHR, TextStatus, ErrorThrown) {
       alert(XHR.responseText);
     }
 });
于 2012-11-08T06:24:09.877 回答
0

相反,我会在服务器的响应表单中返回一个字符串消息,然后你可以在你的error函数中使用它。

于 2012-11-08T06:22:19.193 回答