如何在AJAX中显示状态描述?

时间:2012-11-08 06:18:19

标签: asp.net jquery

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

Save.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);
    }
});

2 个答案:

答案 0 :(得分:1)

使用XHR.responseText,然后查看错误是什么 这是关于jQuery Call的错误的一个很好的链接 jQuery Ajax error handling, show custom exception messages

$.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);
     }
 });

答案 1 :(得分:0)

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