AJAX 中国語リファレンスマ...login
AJAX 中国語リファレンスマニュアル
著者:php.cn  更新時間:2022-04-12 16:00:57

AJAX XML



AJAX を使用して、XML ファイルと対話的に通信できます。


AJAX XML の例

次の例は、Web ページが AJAX を使用して XML ファイルから情報を読み取る方法を示しています。オンラインの例を見る



分析例 -loadXMLDoc()関数

ユーザーが上の「CD情報を取得」ボタンをクリックすると、loadXMLDoc()関数が実行されます。

loadXMLDoc() 関数は、XMLHttpRequest オブジェクトを作成し、サーバー応答の準備ができたときに実行する関数を追加し、リクエストをサーバーに送信します。

サーバー応答の準備ができたら、HTML テーブルが構築され、XML ファイルからノード (要素) が抽出され、最後に、すでに XML データが設定されている HTML テーブルで txtCDInfo プレースホルダーが更新されます。

function loadXMLDoc(url)
{
var xmlhttp;
var txt,xx,x,i;
if (window.XMLHttpRequest)
{// IE7+、Firefox、Chrome、Opera、Safari 用のコード
xmlhttp=new XMLHttpRequest ();
}
else
{// IE6、IE5 のコード
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4) && xmlhttp.status==200)
{
txt="<table border='1'><tr><th>タイトル</th><th>アーティスト</th></tr> ;";
x=xmlhttp.responseXML.documentElement.getElementsByTagName("CD");
for (i=0;i {
txt=txt + "<tr>";
xx =x[i].getElementsByTagName("TITLE");
{
try
{
txt=txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";
}
catch (er)
{
"<td> </td>";
}
}
xx=x[i].getElementsByTagName("アーティスト");
{
try
{
txt=txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";
}
catch (er)
{
"<td> </td>";
}
}
txt=txt + "</tr>";
}
txt=txt + "</table>";
document.getElementById('txtCDInfo').innerHTML=txt;
}
}
xmlhttp.open( "GET",url,true);
xmlhttp.send();
}


AJAX サーバー ページ

上記の例で使用されているサーバー ページは、実際には「cd_catalog.xml」という名前の XML ファイルです。