Michael: Ajax, PHP und XML-Daten

Hallo,

ich habe eine Verständnisfrage zur Verarbeitung von XMLHTTP-Requests bzw. deren Verarbeitung mittels PHP.
Ich würde gerne auf einen Request hin XML Daten an die aufrufende Seite zurückliefern lassen. Dabei stelle ich mir das in etwa so vor, dass ich beim Request einem PHP Skript am Server angebe, welche Daten benötigt werden, das Skript soll diese dann aus der Datenbank holen und als XML zurückschicken.
Da ich erst begonnen habe mich mit AJAX zu beschäftigen, verstehe ich es noch nicht ganz, wie das mit dem Zurückschicken klappen könnte. Gibt es da einen direkten Weg - also PHP-Skript aufrufen und das liefert direkt die gewünschten Daten als XML - und wie sähe der aus? (leider habe ich zu genau sowas noch nichts im Web gefunden - hier sind die Trefferlisten auf Suchanfragen mit entsprechenden Stichwörtern immer so Uferlos. Deshalb wäre ich auch für Tutorial oder Lesetipps die in die Richtung gehen sehr dankbar.)
Bisher kann ich es mir nur über einen indirekten Weg vorstellen, der sähe so aus:
Request senden - Skript erzeugt die XML-Datei und speichert sie am Server - nach der Request Verarbeitung dann mit einem neuen Request genau die Datei anfordern. Falls das obere nicht möglich ist, ginge es dann so? - und liefert der Server dann onreadystate = 4 sobald das Skript erfolgreich aufgerufen wurde oder erst wenn es abgearbeitet ist?

Vielen Dank für Eure Hilfe und viele Grüße

Michael

  1. Hallo,

    zum Einstieg finde ich http://developer.mozilla.org/en/docs/AJAX:Getting_Started sehr gut.

    Ciao,
    Andreas

    --
    "Das Corporate Design für das Internet sieht eine Reihe von Grafikelementen vor, die die Optik der Webseite visuell und funktionell beeinflussen." - (Zitat aus dem "Styleguide Corporate Design"  eines großen Konzerns...)
    1. Hallo,

      zum Einstieg finde ich http://developer.mozilla.org/en/docs/AJAX:Getting_Started sehr gut.

      Ich auch, hat mir bei meinen Bemühungen nur leider nicht weitergeholfen. Trotzdem danke.

      Greets,

      Michael

  2. echo $begrüßung;

    Ich würde gerne auf einen Request hin XML Daten an die aufrufende Seite zurückliefern lassen.

    Ein AJAX-Request unterscheidet sich aus der Sicht des Servers (und auch aus PHP-Sicht) nicht von einem "normalen" Request.

    Dabei stelle ich mir das in etwa so vor, dass ich beim Request einem PHP Skript am Server angebe, welche Daten benötigt werden, das Skript soll diese dann aus der Datenbank holen und als XML zurückschicken.

    Ja, das ist einer der Anwendungsfälle, für die PHP erfunden wurde.

    Da ich erst begonnen habe mich mit AJAX zu beschäftigen, verstehe ich es noch nicht ganz, wie das mit dem Zurückschicken klappen könnte. Gibt es da einen direkten Weg - also PHP-Skript aufrufen und das liefert direkt die gewünschten Daten als XML - und wie sähe der aus?

    Genauso. Bisher hast du (vermutlich) auf einen "normalen" Request hin HTML-Code generiert, nun lieferst du eben XML aus.

    PHP kann einen Request mit beliebigen Daten beantworten. HTML ist der Standardfall. Für andere Fälle (XML, Grafiken) müssen gegebenenfalls Anpassungen vorgenommen werden. Das betrifft vor allem den Content-Type-Header.

    Bisher kann ich es mir nur über einen indirekten Weg vorstellen, der sähe so aus:

    Nicht nötig und viel zu kompliziert. Da handelst du dir womöglich noch Synchronisationsproblem zwischen den Requests ein.

    echo "$verabschiedung $name";

  3. Hallo,

    ich habe eine Verständnisfrage zur Verarbeitung von XMLHTTP-Requests bzw. deren Verarbeitung mittels PHP.
    Ich würde gerne auf einen Request hin XML Daten an die aufrufende Seite zurückliefern lassen. Dabei stelle ich mir das in etwa so vor, dass ich beim Request einem PHP Skript am Server angebe, welche Daten benötigt werden, das Skript soll diese dann aus der Datenbank holen und als XML zurückschicken.

    Dieses Hin- und her mit den Daten hab ich mal hier beschrieben:
    http://rolfrost.de/cgi-bin/xmlhttpreq.cgi

    Könnte zum besseren Verständnis beitragen.

    Viele Grüße, Rolf

  4. Stichwörtern immer so Uferlos. Deshalb wäre ich auch für Tutorial oder Lesetipps die in die Richtung gehen sehr dankbar.)

    Mikro-Tutorial: per Ajax PLZ übermitteln und zugehörige Ortschaft holen.

    * Du sendest mittels Ajax an das PHP-Skript plz2ortschaft.php den Parameter plz mittels GET.

    * plz2ortschaft.php sieht dann beispielsweise so aus:

    <?php

    $ort = hole_ort($_GET['plz']);

    header('Content-Type: text/xml');

    echo '<?xml version="1.0" encoding="iso-8859-1"?>';
    echo '<ortschaft>'.$ort.'</ortschaft>';

    ?>

    * Jetzt kann JavaScript die zurückgesandten Daten übernehmen und anzeigen