AJAXXMLの例
AJAXは、XMLファイルとの対話型通信に使用できます。
AJAXXMLの例
次の例は、WebページがAJAXを使用してXMLファイルから情報をフェッチする方法を示しています。
例
例の説明
ユーザーが上の[CD情報を取得]ボタンをクリックすると、loadDoc()関数が実行されます。
loadDoc()関数は、XMLHttpRequestオブジェクトを作成し、サーバー応答の準備ができたときに実行される関数を追加して、サーバーに要求を送信します。
サーバー応答の準備が整うと、HTMLテーブルが作成され、ノード(要素)がXMLファイルから抽出され、最後に要素「デモ」がXMLデータで満たされたHTMLテーブルで更新されます。
LoadXMLDoc()
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;
}
XMLファイル
上記の例で使用されているXMLファイルは次のようになります: " cd_catalog.xml "。