jQueryのajax メソッドを使用してフォーム データを送信する場合、エラーを処理する最善の方法は何ですか? これは、呼び出しがどのように見えるかの例です:
$.ajax({
url: "userCreation.ashx",
data: { u:userName, p:password, e:email },
type: "POST",
beforeSend: function(){disableSubmitButton();},
complete: function(){enableSubmitButton();},
error: function(xhr, statusText, errorThrown){
// Work out what the error was and display the appropriate message
},
success: function(data){
displayUserCreatedMessage();
refreshUserList();
}
});
ユーザー名の重複、電子メールアドレスの重複など、さまざまな理由でリクエストが失敗する可能性があり、ashx はこれが発生したときに例外をスローするように記述されています。
私の問題は、例外をスローすることにより、ashx がstatusText
anderrorThrown
をundefinedにすることです。
XMLHttpRequest.responseText
標準の .net エラー ページを構成する HTML を含むにアクセスできます。
responseText でページ タイトルを見つけ、タイトルを使用してどのエラーがスローされたかを調べています。カスタムエラー処理ページを有効にすると、これが崩壊するのではないかと疑っていますが。
ashx でエラーをスローする必要がありますか、またはへの呼び出しによって返されるデータの一部としてステータス コードを返し、userCreation.ashx
これを使用して実行するアクションを決定する必要がありますか?
これらの状況をどのように処理しますか?