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 に答える