Hi,
habe eine kleine Verständnisfrage zu Ajax: sehe ich das richtig, daß ein XMLHttpRequest eine XML Datei nur lesen kann? Wie ich das verstanden habe wird dazu immer die Eigenschaft "GET" übergeben, und gibt dann *immer* die ganze Datei als Objektbaum (zB. req.responseXML) aus, die man dann per DOM Befehlen auswerten muss?
ich habe den Eindruck, dass du entweder das Konzept von AJAX gründlich missverstanden hast, oder nur einen ganz speziellen kleinen Teil der Möglichkeiten siehst.
Zum Absenden einer Chatnachricht allerdings wird ein anderer XMLHttpRequest gemacht, welcher eine PHP öffnet. Diese PHP Datei bekommt die entspr. Messages als query übergeben und führt sich dann die XML Datei zu Gemüte, um sie zu beschreiben. Dabei wird dann auch die Eigenschaft "POST" verwendet. Ein Timeout ist auf 5 sec. eingestellt, nach der die XML Datei neu gelesen wird und das ganze von vorn beginnt. Ok, strenggenommen ist es kein Chat sondern eine "Shoutbox" :)
Das habe ich jetzt nicht ganz verstanden.
- XML kann mit dem XMLHttpRequest direkt nur gelesen werden
Nein. Mit XMLHttpRequest kannst du sowohl GET- als auch POST-Requests absetzen, und beliebige Nutzdaten mitschicken. Je nachdem, was das serverseitig adressierte Script mit den Daten macht, kann auch ein schreibender Zugriff realisiert werden.
- dabei wird die *ganze* Datei direkt als Objekt übergeben
Auch das hängt ganz davon ab, wie das adressierte Script die Parameter auswertet. Es kann beliebige Informationen als Response liefern.
- zum Schreiben einer XML Datei braucht man einen Workaround, wie hier im vorliegenden Fall den XMLHttpRequest mit PHP
Was heißt Workaround? Im Zusammenhang mit AJAX ist es üblich, dass der Request nicht auf eine statische Ressource, sondern auf ein serverseitiges Script zielt. Ob dieses Script Dateien liest oder schreibt oder beides, bleibt dem Programmierer überlassen.
ok und wenn sich jemand wundert, warum ich den Kursleiter nicht gleich gefragt habe, der Kurs liegt schon ein Weilchen zurück :)
Schade eigentlich. ;-)
Schönes Wochenende,
Martin
Wenn die Amerikaner eines Tages von jeder Tierart ein Pärchen nach Cape Canaveral treiben ...
ja, DANN sollte man endlich misstrauisch werden.