2012-04-18 2 views
0

私はajaxを使用してフォームを送信し、検証はサーバ側で行われます。 検証に失敗した場合、エラーとステータスコード:500を持つjsonエンコードオブジェクトが返されます。 クライアントサイドのjqueryが応答を取得すると、エラーハンドラ関数が呼び出され、完全に機能しますが、 (これは通常の動作です)例外は(あまりにもおそらく他のブラウザ)Chromeでスローされます。Jquery ajaxエラーハンドラ関数は存在しますが、まだ例外がスローされます

POST http://localhost/workplace/.../clients/create 500 (Internal Server Error) 

これは私とおそらく私のクライアントのフィール "になり、私のプログラムが正しく動作していないが、ちょうど検証エラーがあること。 このような状況を処理するにはどうすればよいですか?

+0

なぜ500のステータスコードが返されますか? –

+0

サーバ側で検証に失敗した場合、クライアント側でerrorHandlerを呼び出す必要があります。なぜ500?今のところ、テストを作成するだけです...どのステータスコードを使用しますか? –

+1

この質問をチェック:http://stackoverflow.com/questions/6701376/what-response-status-code-should-i-end-to-an-ajax-request-when-there-is-a-user –

答えて

1

500(内部サーバーエラー)コードは返さないでください。これは、サーバーで何か問題があることを示します(リクエストではない)。これは、おそらく例外を引き起こしているものです。私は200(OK)コードを返すのはいいと思います。検証エラーをHTTPステータスコードに反映させる必要はありません。

+0

[詳細な説明](http://stackoverflow.com/a/6701385/230167) –

関連する問題