Abandon des requêtes Ajax en attente avec jQuery
Est-il possible d'annuler une requête Ajax avant que sa réponse ne soit reçue ? Oui, jQuery fournit une méthode simple à cet effet.
Dans la plupart des cas, les méthodes Ajax de jQuery renvoient un objet XMLHttpRequest (ou équivalent), qui propose une méthode "abort()". Cela vous permet de mettre fin prématurément à la requête.
Comme démontré dans l'extrait de code :
var xhr = $.ajax({ type: "POST", url: "some.php", data: "name=John&location=Boston", success: function(msg){ alert( "Data Saved: " + msg ); } }); //kill the request xhr.abort()
Même avec les versions ultérieures de jQuery, cette approche reste efficace :
1. jQuery 1.5 et supérieur : L'objet renvoyé est désormais un wrapper pour l'objet natif XMLHttpRequest appelé jqXHR, qui expose toujours la méthode "abort()".
2. jQuery 3 et supérieur : La méthode ajax renvoie une promesse avec des méthodes supplémentaires, notamment "abort()", donc le code affiché ci-dessus est toujours applicable.
Remarque : Malgré l'initiale hypothèses, "xhr.abort()" continue de fonctionner dans jQuery 3.x. Pour plus de détails, reportez-vous au référentiel jQuery Github.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!