Live-Daten (wie Fortschrittsbalken) mit Laravel 4 @ aktualisier
Ich möchte Daten senden, um sie live in einer Ansicht zu aktualisieren, z. B. eine Fortschrittsanzeige, die den Status einer Aktion anzeigt. Was ist der beste Weg, dies in Laravel 4 zu tun?
Die EinrichtunIch arbeite an einem Laravel 4-basierten Projekt, in dem jeder Benutzer einen Serienschlüssel einlösen kann.
Ich habe ein Admin-Backend erstellt, in das ich einfach eine Liste von Schlüsseln einfügen oder eine Datei von ihnen hochladen kann.
Sagen wir$key_string
ist die Zeichenfolge von durch Zeilenumbrüche getrennten Schlüsseln, die ich hochgeladen habe und die analysiert werden sollen, um anschließend die enthaltenen Schlüsselzeichenfolgen hochzuladen. Hier ist der vereinfachte Code, mit dem die Schlüssel hinzugefügt werden:
$key_string = rtrim($key_string);
$key_string = str_replace("\n\r", "\n", $key_string);
$keys = explode( "\n", $key_string);
foreach($keys as $index => $key) {
Key::create(
array( "serial" => trim($key) )
);
}
Sahen die Schlüsselsätze, die ich zu Tausenden hochlade, kann dies manchmal gut 30 Sekunden dauern. Während dieser Zeit zeigt das Admin-Panel natürlich nichts an.
Now, es macht mir nichts aus, dass ich mir diese Zeit nehme. Ich muss den Upload nicht optimieren, um eine Abfrage usw. zu verwenden, aber ich hätte gerne ein tatsächliches Feedback, damit ich weiß, wie weit der Upload fortgeschritten ist.
Die FragWenn ich Schlüssel hochlade, möchte ich in der Lage sein, alle paar Sekunden oder prozentualen Ticks einen Fortschrittsbalken oder Zähler in meiner Ansicht zu aktualisieren (unter Verwendung des aktuellen$index
)
Gibt es eine einfache Möglichkeit, dies schmerzfrei zu handhaben, vorzugsweise in Laravel 4 integriert? Ich gehe davon aus, dass dies Ajax beinhalten würde, aber kann mich jemand in die richtige Richtung weisen?