Analyse des XML Beispiels

Analyse des Beispiels

Das die Funktion, die beim beenden des Requests ausgeführt wird diesmal etwas grösser geworden ist wurde diese in handleTranslation ausgelagert und der Name der Funktion bei onreadystatechange übergeben.

Verarbeitung der Antwort mittels DOM in handleTranslation

Da die Antwort XML kodiert ist erfolgt die Auswertung mittels DOM:

 

//felder des formulars
dollar_field = document.getElementById("dollar");
pound_field = document.getElementById("pound");

//antwort des servers
xml = req.responseXML;
dollar_resp = xml.getElementsByTagName("dollar")[0];
pound_resp = xml.getElementsByTagName("pound")[0];

//schreiben des ergebnisses
dollar_field.value = dollar_resp.firstChild.nodeValue;
pound_field.value = pound_resp.firstChild.nodeValue;

In den ersten drei Zeilen wird lediglich das Formular Feld, in das später geschrieben werden soll in einer Variable gespeichert.

In den nächsten drei Zeilen (6-8) wird mit "req.responseXML" die XML-Antwort gelesen. Es wird jeweiles der Knoten mit dem Tag "dollar" und "pound" zwischengespeichert. In den danach folgenden zwei Zeilen(11+12) wird das Ergebnis innerhalb dieser Tags in die Formularfelder geschrieben.

So steht zum Schluss der umgerechnete Betrag in den dafür vorgesehenen Feldern.

Übermittlung via GET

In diesem Beispiel erfolgt die Übermittlung mit einem HTTP GET Request. Folgende stelle im Code ist dafür intressant:

var base = 'http://localhost/ajax-tutorial/zwei/ajax.php?eur=';
var currentEuro = document.getElementById('euro').value;
var url = base + currentEuro;
req.open("GET", url, true);

Übermittlung via GET

In der Variable "url" wird zunächst die Url zusammengebaut indem der umzurechnende Betrag aus dem entsprechenden Textfeld ausgelesen wird und an die Url angehängt wird. Für einen Betrag von 10 Euro ergibt sich folgende Url:

"http://localhost/ajax-tutorial/zwei/ajax.php?euro=10"

Muss ich XML benutzen?

Wie man an diesem Beispiel sieht, hat XML einige Vor und Nachteile. Zunächst einmal die Vorteile:

  • XML ist weit verbreitet eine Verarbeitung des XML Dokuments ist in allen Programmiersprachen meisst mit eingenen Parsern möglich.
  • Wenn man DOM beherrscht ist eine Verarbeitung einfach möglich.
  • XML liefert eine Möglichkeit der validiering eines Dokuments quasi mit.

 

XML bringt aber auch ein paar Nachteile mit sich:

  • Die Dokumente die zurück geschickt haben, enthalten viel an Drumherum (Overhead) aber nur wenig Nutzbare Daten.
  • Mit XML kommt zu JavaSkript und der serverseitigen Programmiersprache eine weitere Technologie hinzu die man beherrschen muss.
  • Sich in DOM einzuarbeiten für ein paar kleine Projekte kann u.U zu aufwändig sein.

Aus den oben genannten Gründen gibt es JSON. JSON ermöglicht es auf dem Server Datenstrukturen wie z.B. einen Array in das JSON Format zu serialisieren. Im Client JavaScript kann diese serialisierte Struktur wieder zusammengebaut (deserialisiert) werden und genutzt werden.

Im nächsten Abschnitt schauen wir uns JSON genauer an.

Navigation