0

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

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

これにより、私とおそらく私のクライアントは、私のプログラムが正しく機能していないと「感じ」ますが、検証エラーが発生するだけです。この状況に対処する方法は?

4

1 に答える 1

1

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

于 2012-04-18T08:41:45.127 に答える