Comment afficher une barre de progression lors du chargement des données Ajax ?

Patricia Arquette
Libérer: 2024-10-24 06:06:02
original
635 Les gens l'ont consulté

How to Display a Progress Bar During Ajax Data Loading?

Comment afficher une barre de progression pendant le chargement de données Ajax

Lors de la gestion d'événements déclenchés par l'utilisateur, tels que la sélection de valeurs dans une liste déroulante, il est courant de récupérer des données de manière asynchrone en utilisant Ajax. Pendant la récupération des données, il est utile de fournir une indication visuelle à l'utilisateur que quelque chose se passe. Cet article explore une méthode pour afficher une barre de progression lors des requêtes Ajax.

Implémentation d'une barre de progression avec Ajax

Pour créer une barre de progression qui suit avec précision la progression d'un appel Ajax, suivez ces étapes :

1. Écoutez les modifications du formulaire :

Utilisez addEventListener('change') pour écouter les modifications apportées à la liste déroulante.

2. Lancer une requête Ajax :

Envoyer une requête Ajax pour récupérer les données souhaitées.

3. Utilisation de XMLHttpRequest pour les événements de progression :

Dans les options Ajax, configurez la fonction xhr, qui permet d'accéder à l'objet XMLHttpRequest. Cet objet vous permet de suivre divers événements, dont la progression.

4. Surveiller la progression du téléchargement :

Dans la fonction xhr, ajoutez des écouteurs d'événements pour suivre la progression du téléchargement et du téléchargement. Ces événements incluent onloadstart, onprogress et onloadend.

5. Mettre à jour la barre de progression :

Utilisez l'événement progress pour calculer le pourcentage de progression en fonction des propriétés chargées et totales de l'objet événement, et mettez à jour la barre de progression en conséquence.

Voici un exemple d'extrait de code qui illustre ces étapes :

$.ajax({
    xhr: function() {
        var xhr = new window.XMLHttpRequest();

        // Upload progress
        xhr.upload.addEventListener("progress", function(evt) {
            if (evt.lengthComputable) {
                var percentComplete = evt.loaded / evt.total;
                // Update progress bar...
            }
        }, false);

        // Download progress
        xhr.addEventListener("progress", function(evt) {
            if (evt.lengthComputable) {
                var percentComplete = evt.loaded / evt.total;
                // Update progress bar...
            }
        }, false);

        return xhr;
    },
    type: "POST",
    url: "/yourfile.php",
    data: "...",
    success: function(data) {
        // Handle successful data retrieval...
    }
});
Copier après la connexion

En incorporant ces techniques, vous pouvez afficher efficacement une barre de progression lors du chargement des données Ajax, garantissant ainsi une expérience utilisateur fluide et informative.

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!

source:php
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!