/ / Echtzeit-Daten auf der Webseite mit jQuery - Python, Django, Jquery

Echtzeit-Daten auf der Webseite mit jQuery - Python, Django, Jquery

Ich möchte eine Webseite, die ständig aktualisiert wirdGrafik mit neuen Daten, wie sie ankommen. In regelmäßigen Abständen werden alle Daten, die Sie haben, zu Beginn der Anfrage an die Seite übergeben. Allerdings muss die Seite alle paar Sekunden mit neuen Informationen aktualisiert werden, um die Grafik neu zu zeichnen.

Hintergrund

Die Webseite wird ähnlich sein http://www.panic.com/blog/2010/03/the-panic-status-board/. Die eingehenden Daten werden von einem Arduino gemessene Temperaturwerte grafisch dargestellt und in der Django-Datenbank gespeichert (dieser Teil ist bereits vollständig).

Aktualisieren

Es klingt, als ob die Lösung darin besteht, die jQuery.ajax() Funktion ( http://api.jquery.com/jQuery.ajax/) mit einer Funktion als .complete Rückruf, der mehrere Sekunden später eine weitere Anfrage an eine URL plant, die die Daten im JSON-Format zurückgibt.

Wie kann diese Methode geplant werden? Mit dem .delay() Funktion?

Antworten:

6 für die Antwort № 1

Die Seite muss also regelmäßig ausgeführt werden jQuery.ajax Anrufe mit einem url Parameter, der auf die URL eines Servers gesetzt wird, wo der letzte istup-to-data-Informationen (möglicherweise nur als inkrementelles Delta vom letzten Zeitpunkt, für den der Client Informationen hat - der Client kann diesen Instant als Abfrageparameter im Ajax-Aufruf senden), wird idealerweise in JSON-Form geliefert. Der Rückruf nach Abschluss der Async-Anforderung kann die nächsten Ajax-Aufrufe für einige Sekunden in der Zukunft planen und dann das Diagramm erneut zeichnen.

Die Tatsache, dass serverseitig Django verwendet wird, scheint nicht so entscheidend zu sein - der Server muss nur einen Haufen Daten als JSON formatieren und schließlich zurücksenden.


0 für die Antwort № 2

Wenn die Daten aus On-the-Fly-Grafiken bestehen, können Sie sie einfach über Django (in GIF, PNG oder einem anderen Grafikformat) bereitstellen und sie einzeln laden oder sogar alle Seiten gleichzeitig neu laden.

Das hängt von den Last- und Leistungsanforderungen ab, aber Sie können einfach damit beginnen, die ganze Seite neu zu laden und dann, wenn nötig, AJAX zu verwenden, um nur jedes einzelne Teil neu zu laden (es ist sehr einfach mit zu erreichen jQuery oder prototype mit Updates). Wenn Sie viele Daten erwarten, sollten Sie die Grafik auf dem Client nur mit JSON-inkrementellen Daten erstellen.