Heim  >  Artikel  >  Backend-Entwicklung  >  Wie zeige ich beim Laden von Ajax-Daten einen Fortschrittsbalken an?

Wie zeige ich beim Laden von Ajax-Daten einen Fortschrittsbalken an?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-24 06:06:02635Durchsuche

How to Display a Progress Bar During Ajax Data Loading?

So zeigen Sie einen Fortschrittsbalken während des Ladens von Ajax-Daten an

Bei der Verarbeitung von vom Benutzer ausgelösten Ereignissen wie der Auswahl von Werten aus einem Dropdown-Feld ist es üblich, Daten asynchron mit abzurufen Ajax. Während die Daten abgerufen werden, ist es hilfreich, dem Benutzer einen visuellen Hinweis darauf zu geben, dass etwas passiert. In diesem Artikel wird eine Methode zum Anzeigen eines Fortschrittsbalkens bei Ajax-Anfragen untersucht.

Implementieren eines Fortschrittsbalkens mit Ajax

Um einen Fortschrittsbalken zu erstellen, der den Fortschritt eines Ajax-Aufrufs genau verfolgt, befolgen Sie diese Schritte :

1. Auf Formularänderungen achten:

Verwenden Sie addEventListener('change'), um auf Änderungen am Dropdown-Feld zu achten.

2. Ajax-Anfrage initiieren:

Senden Sie eine Ajax-Anfrage, um die gewünschten Daten abzurufen.

3. Verwenden von XMLHttpRequest für Fortschrittsereignisse:

Konfigurieren Sie in den Ajax-Optionen die Funktion xhr, die Zugriff auf das XMLHttpRequest-Objekt bietet. Mit diesem Objekt können Sie verschiedene Ereignisse überwachen, einschließlich des Fortschritts.

4. Überwachen Sie den Upload- und Download-Fortschritt:

Fügen Sie innerhalb der Funktion xhr Ereignis-Listener hinzu, um sowohl den Upload- als auch den Download-Fortschritt zu verfolgen. Zu diesen Ereignissen gehören onloadstart, onprogress und onloadend.

5. Fortschrittsbalken aktualisieren:

Verwenden Sie das Ereignis progress, um den Prozentsatz des Fortschritts basierend auf den geladenen und Gesamteigenschaften des Ereignisobjekts zu berechnen und den Fortschrittsbalken entsprechend zu aktualisieren.

Hier ist ein Beispiel-Codeausschnitt, der diese Schritte demonstriert:

$.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...
    }
});

Durch die Integration dieser Techniken können Sie beim Laden von Ajax-Daten effektiv einen Fortschrittsbalken anzeigen und so eine reibungslose und informative Benutzererfahrung gewährleisten.

Das obige ist der detaillierte Inhalt vonWie zeige ich beim Laden von Ajax-Daten einen Fortschrittsbalken an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn