Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

JavaScript Grundkurs

XML nachfordern

Testen Sie unsere 2019 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Bei AJAX kann man strukturierte Daten in Form von XML nachfordern. In diesem Film erlernen Sie, wie man das macht, wie man auf den XML-Daten im Client navigieren kann und worauf man dabei zu achten hat.
05:32

Transkript

Ich zeige Ihnen in diesem Film, wie Sie XML-Daten per Ajax vom Server nachfordern können, vielleicht wieder erwarten wird dieses Thema allerdings schwieriger, als es zu vermuten ist, da XML ja in dieser Bezeichnung Ajax explizit auftaucht, aber es hat sich über die Praxis, über die Jahre der Praxis herausgestellt, dass es eine ganze Reihe an Schwierigkeiten im Zusammenhang mit Ajax gibt, die man vermutlich nicht einkalkuliert hat. Was man XML zum Standardformat von Ajax quasi erklärt hat. Schauen uns das aber jetzt an. Ich habe auch hier wieder drei Bilder und ich möchte mit dem Mauszeiger über diese Bilder gehen und eine Zusatzinformation spezifich für jedes dieser einzelnen Bilder angezeigt bekommen. Der entscheidende Punkt wird aber sein, dass ich immer die gleiche Datei anfordere, eine XML-Datei und ich mir auf dieser XML-Datei die passenden Formationen im Browser per JavaScript raussuchen werde. Jetzt sehen Sie bitte hier unten hin, dort ist eine Debug Information, die ich absichtilich in die Seite mit eingebaut habe. Wenn Sie hier mit der rechten Maustaste drauf klicken und Element untersuchen sagen, dann sehen Sie, dass ich hier eine XML-Struktur habe. Es gib ein Root-Element Daten, dort gibt es drei Elemente Info drinnen und diese Daten werden jedes Mal geschickt. Das ist die Original XML-Datei die ich anfordere und vergleichen Sie, die sieht genauso aus, Sie haben hier zusätzlich noch den Prolog. Im Fall von XML schicke ich also mehrere Daten und ich habe eine Intelligenz, eine Logik auf dem Client mit der ich dann aus dieser Datei, aus dieser Struktur gezielt Daten auswähle, denn offensichtlich habe ich diese Struktur jetzt ja hier nachgeladen und kann die dann hier entsprechend verwenden. Ich möchte noch mal betonen, dass wir diese Debug-Informationen nicht für die Funktionalität brauchen, sondern nur damit Sie sehen in welcher Form die Daten auf dem Client ankommen. Das ist jetzt meine JavaScript Datei, die entscheidende Stelle ist diese hier, Sie sehen hier, wie ich mit response Text die Daten entgegennehme und sie dann in diesen Debug Bereich ausgebe, aber wenn ich XML Daten vom Server bekomme, möchte ich eigentlich keinen Text haben, sondern ich möchte ein Nodeobjekt haben und über die Eigenschaft response XML bekomme ich die XML-Daten als Nodeobjekt und dann kann ich auf dieses Nodeobjekt, mit den üblichen Methoden agieren, navigieren. Beispielsweise kann ich auf diesen Nodobjeckt, was mir dann über dem Token Daten zur Verfügung steht, mit getElementsByTagName gezielt ein Element in der XML-Struktur, in der Nodestruktur selektieren und dann muss ich entsprechend der Logik von einem Nodeobjeckt von dem Dom Konzept über Firstchild an den enthaltenen Inhalt gehen und dessen Eigenschaft Beta ist der Inhalt. Das ist wie gesagt nicht trivial, aber wir müssen hier mit diesen Domkonzepten arbeiten, sonst können wir XML von vornherein vergessen und das war noch der einfache Teil dieser ganzen Geschichte. Ihnen sollte auffallen, dass ich jetzt hier plötzlich kein Port mehr habe. Ich fordere die Daten nicht von JT an, sondern dieses Mal von meinem Apache Webserver, denn es gibt einige Server, die mit der Dateierweiterung XML nicht klarkommen . JT ist so eine. Das ist zwar nur ein Testbrowser von Aptana, aber es macht deutlich, dass Sie hier auch unter Umständen aufpassen müssen, ob der Webserver überhaupt die Eigenschaft response XML richtig füllt. Wenn die nicht gefüllt ist, können wir hier so nicht weiterarbeiten und ohne zu weit auszuholen, wenn Sie rekursiv über den Baum laufen wollen, werden Sie in den unterschiedlichen Browsern ganz unterschiedliche Wege gehen müssen, was die Programmierung extrem kompliziert macht. Nicht umsonst wähle ich gezielt den Tec aus, dessen Inhalt ich haben möchte. Das Element und das setzt aber voraus, dass ich über die XML-Daten schon eine Menge weiß. Eigentlich sollte man über diese XML-Daten iteraktiv vorgehen, rekursiv, aber das können Sie nur halt für jeden Browser unterschiedlich und das macht so eine rekursive Verwertung fast nicht praktikabel oder immens aufwendig. Denn das sollte man festhalten, dass Sie hier im Prinzip gesehen haben, . wie Sie XML Daten verarbeiten können. Sie nehmen die Daten jetzt über response XML entgegen, haben einen Nodeobjekt und können mit den klassischen Nodemethoden die einzelnen Inhalte über eine individuelle Logik , die Sie sich natürlich für jede Situation selbst festlegen müssen, auswerten. Wenn Sie das wirklich wollen, haben Sie alles gesehen, was notwendig ist. Ich würde Ihnen aber trotzdem raten, entweder Json zu nehmen, wenn Sie wirklich die Logik in Client führen wollen, was durchaus Vorteile hat, aber auch Nachteile, oder gezielt über eine gewisse Logik Textdateien vom Client anfordern, was viel weniger Schwierigkeiten macht.

JavaScript Grundkurs

Lernen Sie die Möglichkeiten der universellen Sprache JavaScript kennen und machen Sie sich mit der Syntax vertraut, um Ihre Web-Applikationen durch effektive Skripts zu ergänzen.

8 Std. 20 min (134 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!