Übergabe von XML von PHP an Javascript

shredder01

Mitglied
Hallo,

ich hab mir auf der Basis dieses Tutorials http://code.google.com/intl/de-DE/apis/maps/articles/phpsqlsearch.html 'ne Suchseite mit Anzeige der Ergebnisse in GoogleMaps gebaut. Funktioniert auch prima.
Nun ist ja vereinfacht der prinzipielle Ablauf hier folgender: Ich bin auf der Suchseite, gebe einen Suchbegriff bzw. Suchort ins Formular ein, drücke auf den Button, das löst eine Javascript-Funktion aus, diese ruft über GDownloadUrl ein PHP-Skript auf, das PHP-Skript baut aus Daten aus 'ner Datenbank ein XML-Dokument und gibt es aus, Javascript verarbeitet das XML-Dokument.
Jetzt hätte ich aber gern eine alternative Variante für den Zeitpunkt wenn ich auf die Suchseite komme. Und zwar habe ich eine Startseite, die auch ein Suchformular enthält, das beim Absenden auf die Suchseite weiterleitet. Nachteil beim jetzigen Ablauf: start.php ruft such.php, such.php generiert HTML, Javascript und gibt beides zurück, Javascript-Funktion ruft PHP-Skript was Daten aus Datenbank in XML-Dokument presst usw.. D.h. ich muß mehrmals zum Server.
Ich hätte gern das such.php neben HTML und Javascript auch das XML-Dokument generiert und dann der Javascript-Funktion zur Verarbeitung übergibt.
Mein Problem dabei ist: Ich weiß nicht wie ich die XML-Daten, die das selbe PHP-Skript generiert was auch den Javascriptcode ausgibt, in diesem Javascriptcode empfangen kann.
Bei allen Beispielen zu PHP-Javascript-Datenkontakt, die ich bisher gefunden habe, lief es immer nach erstgenanntem Schema ab. Also normalerweise über XMLHttpRequest (GDownloadUrl ist ja wohl auch nix anderes) - Javascript fragt an, ruft PHP-Skript und bekommt Daten.
Was aber wenn Javascript mal nicht der Auslöser ist?

Ich hoffe ich hab jetzt einigermaßen verständlich erklärt was mein Problem ist.
 
Hm, ich hab da irgendwie im Moment noch 'ne gedankliche Blockade und zwar mit dem Teil "XML-Ausgabe innerhalb des PHP-Skriptes in JS-Variable speichern".
Wahrscheinlich ist das ganz leicht, aber irgendwie fehlt mir da z.Z. was an Vorstellung.
Und die Tatsache, das die Ausgabe kein JS+HTML-Gemisch ist, sondern ich eine externe JS-Datei hab macht's auch nicht einfacher (zumindest in der Vorstellung). :confused:
Naja, eins nach dem anderen, man kann ja nicht alles von heut auf morgen können ;).

P.S.: Hm, wenn mein JS intern wäre würde ich wahrscheinlich etwas wie
Code:
var xml = <?=$xml;?>; bzw. var xml = <?php echo $xml;?>;
machen (richtig?), aber woher kriege ich in meiner externen JS-Datei Zugriff auf die PHP-Variable?
 
Zuletzt bearbeitet:
Du hast ja bei einer externen JS-Datei irgendwo in deinem Hauptdokument irgendwo stehen:
Code:
<script type="text/javascript" src="pfad/name.js"></script>
So was in der Art.
Code:
<script type="text/javascript" src="pfad/name.php?id=BLA"></script>
Und mit der id kannste der php Datei (die die JS-Datei erzeugt), welche Daten sie aus der Datenbank ziehen soll, und anschließend wie du es schon beschrieben hast in die JS-Variabel schreiben soll.
 
@all: Danke!
Ja, inzwischen hab ich auch gecheckt, dass das nicht so ein Problem ist wie ich dachte. Irgendwie war ich bisher immer der Meinung ich müßte da in die externe JS-Datei rein. Aber ihr habt natürlich recht, wenn man genauer nachdenkt ... nach dem Ausliefern wird ja sowieso alles miteinander vermengt, egal auf wieviel JS- oder sonstige Dateien es vorher verteilt war.
Tja man kann sich Sachen auch "schwerdenken" ;).
 

Neue Beiträge

Zurück