複数のjquery ajax呼び出しを処理する際に問題が発生しましたが、タイムアウトエラーがありますが、これはどのリクエストエラーであるかをどのように知ることができますか?Deferredを使用して複数のajaxリクエストエラーを処理するにはどうすればよいですか?
$.when(ajaxDeferred1, ajaxDeferred2)
.done(function(result1, result2) {})
.fail(function(response, statusText) {
// how do I know which(ajaxDeferred1 or ajaxDeferred2) ajax call error this is?
});
ajaxDeferred1
$.ajax({
method: 'GET',
url: xxx,
timeout: 5000,
});
私は要求ごとに ')(.fail' を置くことによって、エラーを処理することができます知っているが、ハンドルエラー方法上記の方法はありますか?
さらにこのように処理できますか?
$.when(ajaxDeferred1, ajaxDeferred2)
.done(function(result1, result2) {})
.fail(function(errorForRequest1, errorForRequest2) {
// handle error
});
EDIT:
私は私の質問は、より明確にする必要があると思います。上記の例では:
$.when(ajaxDeferred1, ajaxDeferred2)
.done(function(result1, result2) {})
.fail(function(errorForRequest1, errorForRequest2) {
// if all request has done, but one or more request has got error, return the error here then!
// So I can handle which part UI should show and which UI part I should hide due to the error!
});
私はすべてがエラーなしで実行されたときに結果を「行って」、そして全てがをに行われているが、1つのまたはそれ以上の要求は問題が発生し、それらをすべて返却したときに「エラー」をゲットしたいです一緒に '.fail()'になります。
こんにちは、これは私の意図にもっと近づいています。唯一の問題は 'fail()'が他のajaxリクエストを続行するのを妨げることです、私は自分の質問を編集しました。 – Kim