Moin!
Moin!
Hey, stehe gerade etwas auf dem Schlauch.
Habe eine html-Seite (sagen wir page.html), welche eine JS-funktion anstößt (button, Funktion MakeRequest()), die einen AjaxRequest zu einem php-Skript startet (batch.php). Jenes php-Skript öffnet eine CSV-Textdatei und baut mit dem Prototype-Framework einen svg-Graphen aus den Werten der Textdatei. Der standardmäßige Return des Prototype-Frameworks ist sowas wie:
...viel zuviel HTML-Code, der für Ajax nicht geeignet ist.
Von welchem html-Code sprichst Du denn?
Von deinem.
Das ganze HTML gehört schon von Anfang an in deine HTML-Seite, dann existiert auch schon direkt der Platz, wo die Grafik erscheinen wird.
Dort kann m.E. nur die div schon erscheinen, mit der ID whiteboard. Die Daten für die Graphik sind ja dynamisch.
Nicht wirklich. Die Grafikausgabe setzt sich zusammen aus vorbereitenden Arbeiten mittels Javascript, und der dann generierten, wohl dynamischen, Datensammlung für die eigentliche Grafik. Die Grafikerstellung ist aber, davon gehe ich jedenfalls aus, fix, nur die Daten ändern sich.
Der Ajax-Request sollte nur die Daten als JSON besorgen, und wenn die Daten da sind, wird der Malprozess mit den Daten aufgerufen, und die Grafik erscheint.
Dies würde bedeuten in das Prototype Framework einzugreifen, richtig? Sagen wir mal, wenn das nicht in meiner Absicht liegt, kann man das dann anders lösen? Um das Framework zu nutzen muss dieser JavascriptCode irgendwann einmal ausgeführt werden, um die svg-Daten zu produzieren.
Ich kenne Prototype als Javascript-Framework, serverseitig tut das nix. Insofern ist Prototype nicht für dein derzeitiges HTML verantwortlich, sondern dort ist lediglich eine HTML+Javascript-Ausgabe versammelt, die eine Grafik malt, und die lädst du per Ajax, anstelle mit einem normalen Browser-Request.
Insofern vermute ich: Das Datensammeln und -ausgeben hat mit Prototype nichts zu tun und kann auch geändert werden (auf JSON), und wenn das so ist, dann kann auch das Einfügen der Daten in die Darstellungsroutine geändert werden (indem die Daten aus JSON als Parameter in eine Darstellungsfunktion eingefügt werden, welche dann alles tut, was zum Zeichnen der Grafik nötig ist).
Hat am Ende den Vorteil, dass die Datenmenge kleiner bleibt.
- Sven Rautenberg