Maison >interface Web >js tutoriel >Comment puis-je abandonner les requêtes AJAX en cours à l'aide de jQuery ?

Comment puis-je abandonner les requêtes AJAX en cours à l'aide de jQuery ?

DDD
DDDoriginal
2024-12-22 18:04:13794parcourir

How Can I Abort In-Progress AJAX Requests Using jQuery?

Abandon des requêtes Ajax en cours avec jQuery

Dans jQuery, l'exécution des requêtes Ajax est cruciale pour les interactions Web dynamiques. Cependant, il peut arriver que vous deviez annuler ou abandonner une requête Ajax avant de recevoir une réponse. Est-il possible d'accomplir cela avec jQuery ?

Solution :

Absolument ! Les méthodes Ajax de jQuery renvoient généralement un objet XMLHttpRequest (ou son équivalent). En tirant parti de cet objet, vous pouvez utiliser la méthode abort() pour mettre fin à la requête en cours.

Démonstration de code :

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

// Abort the request
xhr.abort();

À mesure que jQuery a évolué, le retour L'objet dans les versions ultérieures (à partir de 1.5) est un wrapper pour le XMLHttpRequest natif connu sous le nom de jqXHR. Ce wrapper expose toutes les propriétés et méthodes natives, garantissant la compatibilité avec l'approche abort().

Dans les versions 3 et supérieures, la méthode Ajax renvoie une promesse avec des méthodes supplémentaires, dont abort. Tant que l'objet renvoyé n'est plus un xhr, la méthode abort() reste fonctionnelle.

Exception :

Malgré l'applicabilité générale de cette technique, il est important de noter qu'il n'est pas toujours pris en charge par les implémentations personnalisées de requêtes Ajax ou de bibliothèques externes qui étendent les fonctionnalités de jQuery. Dans de tels cas, reportez-vous à la documentation de la bibliothèque ou du code spécifique que vous utilisez pour déterminer ses capacités d'abandon.

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