zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Javascript & Ajax
Seite neu laden Live-Daten vom Server auslesen und in Intervallen aktualisiert anzeigen

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 24.09.2013, 21:49
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 24.09.2013
Beiträge: 4
Frono befindet sich auf einem aufstrebenden Ast
Frage Live-Daten vom Server auslesen und in Intervallen aktualisiert anzeigen

Hallo,

Euer Forum gefällt mir gut. Prima, dass hier nicht nur auf den Inhalt, sondern auch auf die richtige Darstellung wert gelegt wird.

Zu mir: Ich bin Gelegenheitsprogrammierer und gestalte gerne mal eine Homepage mit Joomla. Zu Javascript habe ich noch keine besonders intensive Beziehung aufbauen können, aber ich arbeite daran. Bisher habe ich jede Aufgabenstellung gemeistert, aber die aktuelle Aufgabenstellung hier ist zu kompliziert für mein Teil-Wissen.

Aufgabenstellung:
Auf dem Server wird ein Zahlenwert regelmäßig aktualisiert (aktuelle Anzahl von ... sagen wir "Kunden"). Nun soll dieser Zahlenwert regelmäßig im Browser refresht werden.

Mein Lösungsansatz:
Auf den Server liegt eine Textdatei, in der ein PHP-Script die Daten nach jedem Schreiben in die Datenbank aktualisiert. Wegen der Rechtevergabe darf ich damit in das Joomla-Verzeichnis schreiben.
Ein Joomla-Plugin (AnyCode) führt einen kombinierten PHP-Javascript-HTML-Code aus und zeigt die Daten an. Die Anzeige soll alle 30 Sekunden erneuert werden.

Mein bisheriger Lösungsansatz:
Alles funktioniert. Nur das Aktualisieren nicht, weil ich vom Browser nicht wieder auf den Server zugreifen kann (klar: Javascript läuft clientseitig).

Meine Kenntnisse:
Ein Timer ist für mich kein großes Problem. Auch kann ich Daten zu Beginn des Scriptes von PHP an Javascript übergeben und per innerHTML anzeigen.

Über Sicherheit will ich hier nicht reden. Darum kümmert sich der Server-Administrator.

Meine Frage:
Kann ich erreichen, dass der Browser sich die Daten im regelmäßigen Intervall vom Server holt und anzeigt?
Wenn ja, wie?


Ich danke Dir für das Lesen diese Frage und schon jetzt dafür, dass Du mir eine Antwort schreibst.

Einen schönen Abend
Frono
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 24.09.2013, 21:55
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.016
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

Den Intervall kannst du einfach mit setInterval starten, bei jeder Ausführung musst du dann die Textdatei von deinem Server lesen, das kannst du mit einem asynchronen Request (besser bekannt als AJAX) realisieren. Hast du ein Javascript-Framework zur Verfügung, oder nutzt du reines Javascript?
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 24.09.2013, 22:15
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Frono Beitrag anzeigen
Aufgabenstellung:
Auf dem Server wird ein Zahlenwert regelmäßig aktualisiert (aktuelle Anzahl von ... sagen wir "Kunden"). Nun soll dieser Zahlenwert regelmäßig im Browser refresht werden.

Mein Lösungsansatz:
Auf den Server liegt eine Textdatei, in der ein PHP-Script die Daten nach jedem Schreiben in die Datenbank aktualisiert. Wegen der Rechtevergabe darf ich damit in das Joomla-Verzeichnis schreiben.
Ein Joomla-Plugin (AnyCode) führt einen kombinierten PHP-Javascript-HTML-Code aus und zeigt die Daten an. Die Anzeige soll alle 30 Sekunden erneuert werden.
Wie soll das passieren? Rufst du die Seite alle 30 Sekunden auf?
Üblicherweise werden für solche Clientsachen, cronjobs angelegt. Aber nicht in dem kurzem Interval und der Aufruf von Joomla wäre hier völlig unnötig.

Zitat:
Zitat von Frono Beitrag anzeigen
Mein bisheriger Lösungsansatz:
Alles funktioniert. Nur das Aktualisieren nicht, weil ich vom Browser nicht wieder auf den Server zugreifen kann (klar: Javascript läuft clientseitig).
Trotzdem kann JS ein Serverskript aufrufen oder auch eine Datei. Üblicherweise geschieht dies heute über das XMLHttpRequest Objekt. Die Technik nennt sich AJAX.
Mit Zitat antworten
  #4 (permalink)  
Alt 25.09.2013, 00:10
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 24.09.2013
Beiträge: 4
Frono befindet sich auf einem aufstrebenden Ast
Daumen hoch Danke für die Hinweise

Hallo inta!

Vielen Dank für deine Nachricht. Das ist super! Damit schickst Du mich in eine konkrete Richtung. Ich werde mal lesen gehen. Danke!


Hallo protonenbeschleuniger,

auch Dir vielen Dank für deine Nachricht. Das mit den Cron-Jobs hatten wir angedacht, aber wir verwenden das Script, das die Daten in die Datenbank schreibt, um das Aktualisieren der Textdatei zu übernehmen. Dann wissen wir, dass die Daten in der Textdatei zuverlässig aktuell sind.

Zur Entwicklung habe ich derzeit kein Javascript-Framework: Ich arbeite mit meinem guten, alten Dreamweaver, der mir bislang gereicht hat.

Ausgelöst durch Deine Frage habe ich eben gerade mal geschaut und denke, ich habe demnächst ein neues Hobby. Das ist ja unglaublich, was es alles gibt! Hast du einen Framework-Tipp für mich?


Euch beiden noch einmal herzlichen Dank!


Beste Grüße
Frono
Mit Zitat antworten
  #5 (permalink)  
Alt 25.09.2013, 08:19
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.016
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

Nur für einen Request lohnt sich ein Framework kaum, daher die Frage ob schon eines verwendet wird. Joomla bringt aber soweit ich weiß MooTools oder jQuery mit, also falls du eines nutzen möchtest, wäre es sinnvoll dem Weg deines CMS zu folgen (auch wenn ich zum Lernen reines Javascript empfehlen würde).
Mit Zitat antworten
  #6 (permalink)  
Alt 25.09.2013, 09:39
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Frono Beitrag anzeigen
auch Dir vielen Dank für deine Nachricht. Das mit den Cron-Jobs hatten wir angedacht, aber wir verwenden das Script, das die Daten in die Datenbank schreibt, um das Aktualisieren der Textdatei zu übernehmen. Dann wissen wir, dass die Daten in der Textdatei zuverlässig aktuell sind.
Was heißt das? Wie wird das Skript aufgerufen? Wer oder was ruft dieses Skript alle 30 Sekunden auf?
Mit Zitat antworten
  #7 (permalink)  
Alt 25.09.2013, 09:55
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 24.09.2013
Beiträge: 4
Frono befindet sich auf einem aufstrebenden Ast
Lächeln

Danke, inta, für die Anregungen, die ich gerne aufgreife. Ich berichte später, wie ich vorgegangen bin, und was ich damit erreicht habe.


Danke, protonenbeschleuniger: Ich eiere jetzt mal ein wenig herum, denn erst heute Abend kann ich sagen, wie ich es konkret gelöst habe. Die Idee bis gestern Abend vor Euren Antworten war:
  • Es gibt ein Web-Formular, in dem neue Kunden angelegt werden.
  • Beim Klicken auf Senden schreibt das Script nach Plausibilitätsprüfung die Daten in die Datenbank.
  • Dasselbe Script aktualisiert auch den Zählerstand in der Textdatei.

Jetzt bin ich vollkommen offen. Wenn ich es recht verstehe, kann ich direkt aus dem Client auf den Server zugreifen, ohne Zugangsdaten im Client offenlegen zu müssen. Aber das lerne ich heute. Ich liebe es, wenn/dass ich lernen darf.

Bis dann also

Beste Grüße
John
Mit Zitat antworten
  #8 (permalink)  
Alt 25.09.2013, 10:04
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Frono Beitrag anzeigen
  • Es gibt ein Web-Formular, in dem neue Kunden angelegt werden.
  • Beim Klicken auf Senden schreibt das Script nach Plausibilitätsprüfung die Daten in die Datenbank.
  • Dasselbe Script aktualisiert auch den Zählerstand in der Textdatei.
Dann verstehe ich deine Eingangs gestellte Frage nicht, dort war die Rede davon, dass eine Textdatei alle 30 Sekunden aktualisiert wird und jetzt sagst du, sie wird nur aktualisiert, wenn ein Formular ausgefüllt wird? Das ist etwas komplett anderes.

[Nachtrag:]OK, ich sehe gerade, dass ich das falsch gelesen hatte. Das mit den 30 Sekunden meinst du anders. Dann ist mein Hinweis mit dem Cronjob und dieser Kommnetar hinfällig.

Zitat:
Zitat von Frono Beitrag anzeigen
Jetzt bin ich vollkommen offen. Wenn ich es recht verstehe, kann ich direkt aus dem Client auf den Server zugreifen, ohne Zugangsdaten im Client offenlegen zu müssen.
Nein, das hast du nicht ganz richtig verstanden. Du kannst mit Javascript einen HTTP Request machen, genau wie mit dem Browser auch. Dazu musst du ja auch keine Zugangsdaten im Client offen legen, sondern nur die URL kennen.

Geändert von protonenbeschleuniger (25.09.2013 um 10:06 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 25.09.2013, 10:10
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 24.09.2013
Beiträge: 4
Frono befindet sich auf einem aufstrebenden Ast
Standard

Hallo protonenbeschleuniger, entschuldige, wenn ich mich anfangs ungenau ausgedrückt habe. So ist es gemeint:
  • Es wird serverseitig sichergestellt, dass die Daten in der Textdatei stets aktuell sind.
  • Damit ich im Browser die angezeigte Seite nicht ständig aktualisieren muss, soll sie in regelmäßigen Abständen (angedacht: 30 Sekunden) den Wert aktualisieren, ohne jeweils die ganze Seite aktualisieren zu müssen und ohne dass der User F5 manuell eingreifen muss.
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 25.09.2013, 10:35
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Frono Beitrag anzeigen
Hallo protonenbeschleuniger, entschuldige, wenn ich mich anfangs ungenau ausgedrückt habe.
Nein, hast du nicht, ich habe ungenau gelesen, ich müßte mich entschuldigen

Zitat:
Zitat von Frono Beitrag anzeigen
  • Es wird serverseitig sichergestellt, dass die Daten in der Textdatei stets aktuell sind.
  • Damit ich im Browser die angezeigte Seite nicht ständig aktualisieren muss, soll sie in regelmäßigen Abständen (angedacht: 30 Sekunden) den Wert aktualisieren, ohne jeweils die ganze Seite aktualisieren zu müssen und ohne dass der User F5 manuell eingreifen muss.
Ja, und das geht ohne Probleme mit AJAX
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Programmierauftrag: Impressidaten bzw whois.de Daten automatisch auslesen doro50 Jobs 1 19.06.2012 13:48
Daten aus externer XML Datei auslesen und anzeigen....... RedBaron2104 (X)HTML 6 10.06.2011 15:36
Daten von einen auf den anderen Server kopieren Baracudagirl Serveradministration und serverseitige Scripte 6 22.02.2011 22:09
Biete Half live 2 cs:s Server auf übernahme an netshuttle Offtopic 4 20.12.2009 23:51
Daten mit fremdem Server austauschen netAction Javascript & Ajax 27 15.09.2008 11:26


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:33 Uhr.