jQuery XHR($ .get()呼び出しから作成された)のハンドラで、応答の問題を探して登録された後続カスタムエラーメッセージが表示されるハンドラ(うまくいって&に失敗します)?このようなjQuery AJAXまたはXHRリクエストトリガーが完了コールバックからのコールバックを失敗しました
何か:Doneを二次フィルタの
$.get(URL)
.done(
function (data, status, res) {
if(/*some condition*/){
this.Reject(res, status, "some reason");
return
}
//Do stuff on success
}
)
.fail(
//Common error handler here
)
.always(
//common always handler here
);
種類。理由は、もちろん、jQueryが認識できなかった200の応答でエラーを発生させるすべてのAPIがエラーであったからです。
で作業しないように見えます! failメソッドは、ajax呼び出し中に何かが失敗したときに実行されます。有効な応答を引き続き送信するサーバー側のエラーは、エラーとはみなされません。サーバ側のコードが失敗した場合は、無効なコンテンツや400ヘッダなどを渡すことによって失敗メソッドをトリガできますが、失敗したメソッドをトリガするものは本当にありますが、doneメソッド内から呼び出すことはできません。どちらかを行う。 – adeneo
どのように適切ではありませんか?未来/約束/タスクがエラーコールバックを引き起こすことはむしろ一般的です。 –
はい、ただし、約束事を作成した場合、失敗メソッドをトリガーすることはできますが、ajaxコールでは、サーバーからの有効な応答が成功したajax呼び出しである間に、 。サーバーサイドで発生したエラーは、期待どおりの処理を実行できなかった場合は、成功ハンドラで検出されます。あるいは、それは、その時点までに約束がすでに解決されているので、doneメソッドからfailメソッドをトリガーできないので、通常はやり方で行われます。 – adeneo