Ajax Json - Anfänge - Finde keinen Anfang

chmee

verstaubtes inventar
Premium-User
Mahlzeit Mädels und Jungs,

Nun ich möchte im Zuge meines Interesses meine Spielwiese
http://bf2.phreekz.de mit AJAX tunen. Gründe:

1. der Teamspeak-Viewer links sollte alle 30Sekunden refreshen
2. Das Gästebuch rechts muss nach dem Submit alles neu laden
3. Die Tabelle mittig braucht recht lange und würde mit Ajax zumindest
ein Loading anzeigen und auch Sortierfunktionen könnte ich einbauen.

Beispiel 1 - der TS-Viewer ist eh schon in JS geschrieben, aber kann
man in JS auch Divs refreshen, ich lese immer nur von IFrames uÄ.

Nun weiss ich nicht, wie ich mit dem Beispiel 2 anfangen kann.
Ich habe testweise schon mal die Gästebucheinträge in einen JSON-konformen
Text umgewandelt.

zu 3. Momentan denke ich, es lohnt nicht, das Ding selbst zu schreiben,
sondern auf ein schlankes Framework zuzugreifen, obwohl ich es immer
mag, wenn es selbstgestrickt ist, das unterbindet auch allgemeinbekannte
Bugs, die ausgenutzt werden könnten, um das System zu kompromitieren.

Jede Meinung, jeder Beitrag ist willkommen.

mfg chmee
 
Zuletzt bearbeitet:
Hi,

zu 1.
Das wäre ja mit einem simplen Ajax-Request und setIntervall getan. :)

zu 2.
Ich würde das Guestbook nicht komplett neu laden, sondern so vorgehen:
- Bei submit den neuen Eintrag speichern
- Nach erfolgreicher Speicherung den Eintrag per Javascript hinzufügen
-> Das erspart sowohl Client als auch Server eine Menge Arbeit.

zu 3.
Dafür brauchst du eigentlich auch kein AJAX, außer du willst dir die Daten vom Server sortieren lassen. Per Javascript ginge es bei dieser Tabelle aber auf jeden Fall schneller.

Mein persönliches Lieblingsframework in JS ist mootools.net - Das ist auch sehr schlank.
Auf http://demos.mootools.net/Ajax kannst du dir mal den Code für einen simplen Ajax-Request ansehen, unter http://www.phatfusion.net/sortabletable/ findest du eine Erweiterung zum clientseitigen sortieren von Tabellen.


Gruß

lay-z-cow
 
Danke erstmal..

zu 1. Habe gerade nachgeschaut, ist php. Irgendwie werde ich das schon gebacken kriegen, siehe 3.
2. Idee ist gut, werde ich nach 3. machen..

3. Umsetzung einer Tabelle mit dynamischem Inhalt
Hier brüte ich. Ich habe mal heute Abarbeitungszeiten der einzelnen Module gemessen, und leider benötigt die Anfrage der Daten von http://www.spieler-daten.de grob 3 Sekunden pro Eintrag, das macht im Moment grob 30 Sekunden Abfragezeit, BEVOR die Seite fertig geladen wird.. Dann kommen noch etwa 8 Sekunden beim Darstellen und erneuten Abfragen der OnlineStatuen von Hamachi und XFire. Also : Im Moment benötigt - an schlimmen Tagen - die Seite grob 40 Sekunden bis sie vollständig geladen ist. Das zehrt an meinem Stolz :)

Mein Gedanke nun:
1 - Tabelle der Spieler als JSON in Datei oder in index-Datei - ist statisch.
2 - JS - Mit For Schleife wird Anfrage an Server gestellt - jeder Spieler einzeln
3 - php-Datei nimmt Anfrage an, holt Infos ein und gibt JSON an Client zurück.
4 - Client fügt Daten zu Array hinzu - Array wird in Tabelle aktualisiert.
5 - Solange zu -2- springen, bis Liste -1- durchgearbeitet ist.

Der große Vorteil : Die Seite ist schon vollständig dargestellt UND die Daten der
Spielerliste kommen nach und nach hinzu. Sortable ist dann Sache des Framework.

Kann mir jemand folgen, etwas zu der Idee sagen ?

mfg chmee
 
Zuletzt bearbeitet:
So, habe gestern und heute daran gesessen und -JUHUU- das Grundverständnis für
Asynchrone Datenzugriffe im Netz verstanden. Wie ich oben beschrieben habe, war die
Ladezeit der Seite vor Änderung etwa 40 Sekunden, Nun bekommt man sie sofort und die
Statsabfragen habe ich in eine eigene php-Datei gelegt, die per _GET die Anfrage bekommt
und mit einem Arraystring, den ich mit split() zerlege, antwortet. Diese trage ich dann per JS
und DOM in die Tabelle ein. Super..

Und nebenbei wieder mal Danke für die Antworten. Warum ? Weil ich verpflichtet war,
es selbst herauszufinden UND weil es auch geklappt hat :D

Bei Interesse hier ne Nachricht hinterlegen, dann erzähle ich gerne etwas dazu..

Links für Anfänger:
Galileo Javascript und Ajax - Kapitel 18
JSON und Javascripting
Firebug - Das Tool beim Seiten entwickeln

mfg chmee
 
Zuletzt bearbeitet:
HA, Da fällt mir noch eine Frage ein :

Ich möchte die Tabelle sortierbar machen, aber die im Netz zu findenden Scripts greifen scheinbar nicht bei mit JS-DOM gebauten Tabellen, da jene ja in der HTML gar nicht existieren. Wie Nun ?

-A- Zwischenschritt Cachen der Daten in einem 2Dim-Array und jedesmal sortieren und anzeigen ?
-B- Die Möglichkeit, die ich nicht kenne ?

mfg chmee
 

Neue Beiträge

Zurück