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.
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!