Dans de nombreuses applications Web, il est courant de rencontrer le besoin de parcourir une collection et d'émettre une requête Ajax pour chaque élément. Bien qu'il soit tentant d'exploiter les requêtes asynchrones pour éviter le gel du navigateur, la gestion efficace de ces requêtes peut éviter la surcharge du serveur et d'autres problèmes potentiels.
Pour les versions 1.5 et supérieures de jQuery, le $. Le plugin ajaxQueue() offre une solution simple. Ce plugin utilise les fonctions $.Deferred, .queue() et $.ajax() pour orchestrer les requêtes Ajax et renvoyer une promesse qui se résout une fois la requête terminée.
Pour jQuery 1.4, une approche alternative consiste à créer une "file d'attente" en utilisant la file d'attente d'animation sur un objet vide. Cette technique garantit que les requêtes Ajax sont exécutées de manière contrôlée, la première requête étant automatiquement lancée si la file d'attente n'est pas déjà en cours d'exécution.
L'extrait de code suivant illustre comment implémenter Ajax mise en file d'attente à l'aide du plugin $.ajaxQueue(). Il parcourt une liste d'éléments et copie chaque élément dans une liste cible via des requêtes Ajax :
$("#items li").each(function(idx) { $.ajaxQueue({ url: '/echo/html/', data: { html: "[" idx "] " $(this).html() }, type: 'POST', success: function(data) { $("#output").append($("
En employant l'une ou l'autre de ces approches, les développeurs peuvent gérer efficacement le séquençage des requêtes Ajax, garantissant une exécution ordonnée et évitant les problèmes potentiels côté serveur.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3