1

ステータスコード400を取得すると、XMLHttpRequestオブジェクトをこのように処理し(1)、機能します。とにかく、このコードは私のユースケースに非常に固有のものだと思います。

次のように、より一般的にしたいと思います
。1)ステータスコード500を取得したときに、サーバーエラーをどのように処理する必要がありますか?


(1)

_.each((JSON.parse(xhr.responseText)).children, function (xhrObject, name) {
    element.find('[name="' + name + '"]')
        .parent().append($('<div>')
        .attr('class', 'is-input-invalid')
        .text(xhrObject.errors));
});
4

1 に答える 1

2

アプリケーションによって異なります。500に対応して実行したい一般的なことは3つあります。

  1. エラーが発生したことを報告します。
  2. それを無視します。
  3. 他のことを試してください。

2つ目は、操作がユーザーにとって重要ではない場合(おそらく、バックグラウンド更新-ユーザーが実行していることさえ知らなかったことを確認する)に適している可能性があり、それ以外の場合は絶対に回避する必要があります(エラーが報告されるよりも悪いことは1つだけです)。あなたに、あなたに報告されたエラーはありません)。3つ目は非常に特殊です(最初に何をしようとしていたかに応じて、試行する「他の何か」は明白であるか、不可能である可能性があります)。

500から有用なものを取得するには、そのようなメッセージの本文として有用なものを送信するためのコードのサーバー側が必要になります。「有用」とは、何をしているかによって異なります(たとえば、プレーンテキスト、json、xmlは、コードの残りの部分がすでに処理できるように設定されている可能性が最も高いものです)。

于 2012-08-27T10:14:40.680 に答える