A partir de jQuery 1.5, toutes les méthodes AJAX jQuery renvoient un jqXHRobjet qui fournit .error(), .success()et des .complete()méthodes.
Quelle est la différence entre .success()et .complete()?
A partir de jQuery 1.5, toutes les méthodes AJAX jQuery renvoient un jqXHRobjet qui fournit .error(), .success()et des .complete()méthodes.
Quelle est la différence entre .success()et .complete()?
Réponses:
.success()n'est appelé que si votre serveur Web répond avec un 200 OKen-tête HTTP - essentiellement lorsque tout va bien.
Cependant, .complete()sera toujours appelé, peu importe si l'appel ajax a réussi ou non - peut-être qu'il a généré des erreurs et renvoyé une erreur - .complete () sera toujours appelé.
Il convient de mentionner qu'il .complete()sera appelé après .success() avoir été appelé - si cela compte pour vous.
success()appelé lorsque le serveur renvoie le code d'état 200 , complete()est appelé après success(). et je vois une différence:
On success()ne peut pas obtenir la chaîne de réponse xml que vous utilisez $.ajax()et que vous définissez dataType:xml
Mais dans complete()vous pouvez obtenir le format de chaîne du document xml lu en utilisant
$.ajax({
url:'??',
dataType:'xml',
oncomplete: function(data,status){
console.log(data.responseText);
}
})
success()est appelée lorsque le serveur renvoie success status code, comme: 200, 201etc.
complete()est toujours appelée lorsque la demande est terminée. (peu importe, c'est une réponse de succès / erreur du serveur.)
successréponse du serveur: complete()et success()est appelé.errorréponse du serveur: complete()et error()est appelé.Dans quel but vous pouvez utiliser complete(): supposons que dans beforeSend()vous affichez un loader image, et dans complete(), vous pouvez le cacher loader image.