Wie von jQuery 1.5, die alle AJAX Methoden jQuery zurückgeben jqXHRObjekt , das bietet .error(), .success()und .complete()Methoden.
Was ist der Unterschied zwischen .success()und .complete()?
Wie von jQuery 1.5, die alle AJAX Methoden jQuery zurückgeben jqXHRObjekt , das bietet .error(), .success()und .complete()Methoden.
Was ist der Unterschied zwischen .success()und .complete()?
Antworten:
.success()wird nur aufgerufen, wenn Ihr Webserver mit einem 200 OKHTTP-Header antwortet - im Grunde genommen, wenn alles in Ordnung ist.
Allerdings .complete()wird immer egal aufgerufen , wenn der Ajax - Aufruf erfolgreich war oder nicht - vielleicht ausgegeben es Fehler und hat einen Fehler zurückgegeben - Das Gesamt () wird nach wie vor aufgerufen.
Es ist erwähnenswert, dass .complete()der Anruf nach dem .success() Anruf erfolgt - wenn es Ihnen wichtig ist.
success()wenn der Server Rückkehr genannt 200 - Statuscode, complete()nach aufgerufen success(). und ich sehe einen Unterschied:
Auf können success()Sie keine XML-Antwortzeichenfolge erhalten, die Sie verwenden $.ajax()und festlegen. dataType:xml
In können complete()Sie jedoch das Zeichenfolgenformat des gelesenen XML-Dokuments mit abrufen
$.ajax({
url:'??',
dataType:'xml',
oncomplete: function(data,status){
console.log(data.responseText);
}
})
success()aufgerufen wird , wenn der Server zurückgibt success status code, wie: 200, 201usw.
complete()wird immer aufgerufen, wenn die Anfrage abgeschlossen ist. (Egal, es ist eine Erfolgs- / Fehlerantwort vom Server.)
successAntwort vom Server gibt: complete()und success()wird aufgerufen.errorAntwort vom Server gibt: complete()und error()wird aufgerufen.Zu welchem Zweck können Sie verwenden complete(): Nehmen wir an, beforeSend()Sie zeigen ein loader imageund in complete()können Sie das verbergen loader image.