AJAX dapat digunakan untuk berkomunikasi secara interaktif dengan file XML.
Contoh berikut akan menunjukkan bagaimana halaman web membaca informasi dari file XML melalui AJAX:
Ketika pengguna memilih CD dalam daftar drop-down di atas, fungsi bernama "showCD()" dijalankan. Fungsi ini dipicu oleh peristiwa "onchange":
<html><head><skrip>fungsi showCD(str){ if (str=="") { document.getElementById("txtHint").innerHTML=""; return; Browser IE7+, Firefox, Chrome, Opera, Safari menjalankan xmlhttp=new XMLHttpRequest(); Browser mengeksekusi xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("txtHint"). innerHTML=xmlhttp.responseTeks; } } xmlhttp.open("GET","getcd.php?q="+str,true); xmlhttp.send();}</script></head><body><form>Pilih CD:<pilih nama ="cds" onchange="showCD(this.value)"><option value="">Pilih CD:</option><option value="Bob Dylan">Bob Dylan</option><option value=" Bonnie Tyler">Bonnie Tyler</option><option value="Dolly Parton">Dolly Parton</option></select></form><div id="txtHint"><b>Info CD akan dicantumkan di sini...</ b></div></tubuh></html>
Fungsi showCD() melakukan langkah-langkah berikut:
Periksa apakah CD dipilih
Buat objek XMLHttpRequest
Buat fungsi yang dijalankan ketika respons server siap
Kirim permintaan ke file di server
Perhatikan parameter (q) yang ditambahkan ke akhir URL (berisi konten daftar drop-down)
Halaman server yang dipanggil di atas melalui JavaScript adalah file PHP bernama "getcd.php".
Skrip PHP memuat dokumen XML, "cd_catalog.xml", menjalankan kueri terhadap file XML, dan mengembalikan hasilnya dalam HTML:
<?php$q=$_GET["q"];$xmlDoc = DOMDocument baru();$xmlDoc->load("cd_catalog.xml");$x=$xmlDoc->getElementsByTagName('ARTIST');for ($i=0; $i<=$x->length-1; $i++){ // Memproses simpul elemen jika ($x->item($i)->nodeType==1) { if ($x->item($i)->childNodes->item(0)->nodeValue == $q) { $y= ($x->item($i)->parentNode); } }}$cd=($y->childNode);untuk ($i=0;$i<$cd->panjang;$i++){ // Memproses elemen node if ($cd->item($i)->nodeType==1) { echo("<b>" . $cd->item($i)->nodeName . ":</b > "); echo($cd->item($i)->childNodes->item(0)->nodeValue); echo("<br>"); }}?>
Ketika permintaan CD dikirim dari JavaScript ke halaman PHP, apa yang terjadi:
PHP membuat objek XML DOM
Temukan nama di semua elemen <artist> yang cocok dengan data yang diteruskan oleh JavaScript
Keluarkan informasi album dan kirim kembali placeholder "txtHint".