AJAX XML-voorbeeld
AJAX kan worden gebruikt voor interactieve communicatie met een XML-bestand.
AJAX XML-voorbeeld
Het volgende voorbeeld laat zien hoe een webpagina informatie kan ophalen uit een XML-bestand met AJAX:
Voorbeeld
Voorbeeld uitgelegd
Wanneer een gebruiker op de knop "Cd-info ophalen" hierboven klikt, wordt de functie loadDoc() uitgevoerd.
De functie loadDoc() maakt een XMLHttpRequest-object, voegt de functie toe die moet worden uitgevoerd wanneer het serverantwoord gereed is en stuurt het verzoek naar de server.
Wanneer de serverrespons gereed is, wordt een HTML-tabel gebouwd, worden knooppunten (elementen) uit het XML-bestand geëxtraheerd en wordt uiteindelijk het element "demo" bijgewerkt met de HTML-tabel gevuld met XML-gegevens:
XMLDoc laden ()
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState
== 4 && this.status == 200) {
myFunction(this);
}
};
xhttp.open("GET", "cd_catalog.xml", true);
xhttp.send();
}
function myFunction(xml) {
var i;
var xmlDoc = xml.responseXML;
var table="<tr><th>Title</th><th>Artist</th></tr>";
var x = xmlDoc.getElementsByTagName("CD");
for (i = 0; i <x.length;
i++) {
table += "<tr><td>" +
x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue
+
"</td><td>" +
x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue
+
"</td></tr>";
}
document.getElementById("demo").innerHTML = table;
}
Het XML-bestand
Het XML-bestand dat in het bovenstaande voorbeeld wordt gebruikt, ziet er als volgt uit: " cd_catalog.xml ".