Maison >interface Web >js tutoriel >Comment puis-je abandonner une requête Ajax à l'aide de jQuery ?

Comment puis-je abandonner une requête Ajax à l'aide de jQuery ?

DDD
DDDoriginal
2024-12-25 00:08:19206parcourir

How Can I Abort an Ajax Request Using jQuery?

Abandon des requêtes Ajax avec jQuery

Lors de l'exécution d'opérations asynchrones à l'aide d'Ajax, il peut être nécessaire d'annuler une requête en cours qui n'a pas encore reçu une réponse. Cet article explique comment y parvenir avec les méthodes Ajax de jQuery.

Les méthodes Ajax de jQuery et XMLHttpRequest

Les méthodes Ajax de jQuery créent essentiellement un objet XMLHttpRequest ou un objet équivalent pour rendre asynchrone Requêtes HTTP. L'objet XMLHttpRequest fournit la méthode abort(), qui permet aux développeurs d'annuler la requête en cours.

Abandon des requêtes Ajax

Pour abandonner une requête Ajax, récupérez simplement le XMLHttpRequest objet de la méthode Ajax et invoquez sa méthode abort(). Par exemple :

var xhr = $.ajax({
    type: "POST",
    url: "some.php",
    data: "name=John&location=Boston",
    success: function(msg){
       alert( "Data Saved: " + msg );
    }
});

// Cancel the request
xhr.abort();

Cet extrait de code montre comment abandonner une requête Ajax en cours.

Mises à jour et considérations

Depuis jQuery 1.5, le La méthode Ajax renvoie un objet jqXHR, qui encapsule l'objet XMLHttpRequest natif. La méthode abort() peut toujours être utilisée sur l'objet jqXHR.

Dans jQuery 3 et versions ultérieures, la méthode Ajax renvoie une promesse qui fournit des méthodes supplémentaires, notamment abort. Cependant, la sémantique de l'utilisation de xhr.abort() reste la même.

Il convient de noter que xhr.abort() fonctionne toujours dans jQuery 3.x, malgré les affirmations contraires antérieures. Reportez-vous au référentiel jQuery Github pour plus de détails.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn