Mattes: AJAX - Content in Steps laden

Beitrag lesen

Per Klick auf einen Button rufe ich eine JS-Funktion auf und diese macht einen AJAX-Request an ein PHP-Script welches eine "Table" zurückliefert.
Diese "Table" schreibe ich per JS in ein DIV.

Da die Ladezeit aber sehr lange dauert, weil der Inhalt der "Table" über einen Webservice geladen wird, benötige ich eine andere Lösung.

Mein Gedanke wäre nun, die Zeilen der Tabelle in Steps zurückzuliefern, aber ich hab momentan keine Idee, wie das gehen soll.
Ich müsste ja den AJAX-Request in einer Schleife laufen lassen

In einer Schleife so lange Tabellenzeilen holen, bis der Server das Ende meldet (etwa mit HTTP-Status 204 oder indem die Antwort immer aus einem JSON-Datensatz besteht, der aktuellen Status und HTML-Code kapselt), sollte das geringste Problem sein.

bis PHP das Ende zurückmeldet

So ich dich richtig verstanden habe, muss dein PHP-Skript selbst erst die Tabelle von woanders holen. Bevor du irgendwas anderes machst, wirst du dir überlegen müssen, wie du dieses Skript dazu bringst,
a) asynchron Daten runterzuladen (asynchron vom Browser, denn der Browser soll ja nicht warten, bis es fertig ist),
b) die bereits erhaltenen Daten ebenso asynchron an ein zweites Skript zu übergeben, welches die AJAX-Anfragen abarbeitet (asynchron von a),
c) den ganzen doppelt asynchronen Ladeprozess für einen Benutzer nicht mehrfach zu starten, aber trotzdem mehrere Benutzer gleichzeitig zuzulassen.

Grundsätzlich ist das alles möglich, die Frage wäre nur, ob der Aufwand sich lohnt, oder ob es eine andere Möglichkeit gibt. Vielleicht lässt sich die Tabelle ja vorbereiten und zwischenspeichern, so dass sie beim Laden durch den Browser schneller zur Verfügung steht.