我有一个使用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);
}
});
答案 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
函数中使用它。