バックエンドサービスに接続するためにjQuery.ajax()を使用しています。私はerror()ハンドラとstatusCode()ハンドラを設定しました。どちらも正常に動作しますが、statusCodeハンドラが起動すると、エラーハンドラも起動します(エラーハンドラが最初に起動されます)。私はこれが起こらないことを好むだろう。私はこれがエラーハンドラのコードをハックすることなく可能であると仮定していますか?jQuery ajax - statusCode()コールバックが呼び出されたときのerror()コールバックの回避
私のコードは次のようになります。
$.ajax({
...
error: function(...) {
// process a general type of error here
},
statusCode: {
401: function() {
// process a specific authentication failure
}
}
});
だから、HTTPステータスコードが401であるとき、私はエラー()ハンドラの発火を避けることができますか?
ありがとうございました!
それはあなたが「からstatusCode」ハンドラではfalseを返したときに、それはそれは、Ajaxのイベントは、最大伝播する妨げる作るために、jqueryのチームを要求する価値があるだろうかしら'エラー'ハンドラ。確かにこれは多くの努力を必要とせず、認証されていない要求がすべて同じグローバルハンドラを持つアプリケーションを書くのを容易にします。つまり、ユーザをログイン画面に戻す関数です。 –
@ JoshMc:良いアイデア! – David