Ich habe einige Probleme mit mehreren JQuery AJAX-Aufruf, gibt es Timeout-Fehler, aber woher weiß ich, welche Anfrage Fehler das ist?Wie behandelt man mehrere Ajax Request Fehler mit Deferred?
$.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,
});
Ich weiß, dass ich Fehler behandeln kann durch '.fail()' auf jede Anforderung setzen, aber ist es eine Möglichkeit Griff Fehler über Art und Weise?
Gehen Sie weiter, kann ich so umgehen?
$.when(ajaxDeferred1, ajaxDeferred2)
.done(function(result1, result2) {})
.fail(function(errorForRequest1, errorForRequest2) {
// handle error
});
EDIT:
Ich glaube, ich muss meine Frage klarer machen. Im obigen Beispiel:
$.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!
});
Ich will Ergebnis ‚done‘ werden, wenn alle fehlerfrei erfolgt ist, und erhalten ‚Fehler‘, wenn alle getan wird, aber eine oder mehrere Anfrage wurde auftretendes Problem und bringt sie alle zusammen in '.fail()'.
Hallo, das ist näher an meine Intension. Das einzige Problem ist 'fail()' blockiert andere Ajax-Anfragen, um fortzufahren, ich habe meine Frage bearbeitet. – Kim