ホームページ  >  記事  >  バックエンド開発  >  PHP サンプルについて - AJAX と XML の相互作用

PHP サンプルについて - AJAX と XML の相互作用

jacklove
jackloveオリジナル
2018-05-07 14:59:591307ブラウズ

AJAX は XML ファイルと対話的に通信するために使用できます。この記事では、AJAX と XML の間の対話について詳しく説明します。

AJAX XML の例

次の例は、Web ページが AJAX を通じて XML ファイルから情報を読み取る方法を示します。

CD を選択します: Bob Dylan Bee Gees Cat Stevens

CD 情報がリストされますここで..

例の説明 - HTML ページ

ユーザーが上記のドロップダウン リストで CD を選択すると、「showCD()」という名前の関数が実行されます。この関数は、「onchange」イベントによってトリガーされます:

<html><head><script>function showCD(str){    if (str=="")    {        document.getElementById("txtHint").innerHTML="";        return;    }     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)        {            document.getElementById("txtHint").innerHTML=xmlhttp.responseText;        }    }    xmlhttp.open("GET","getcd.php?q="+str,true);    xmlhttp.send();}</script></head><body><form>Select a CD:<select name="cds" onchange="showCD(this.value)"><option value="">Select a 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>CD info will be listed here...</b></div></body></html>

showCD() この関数は次のステップを実行します:

CD が選択されているかどうかを確認します

XMLHttpRequest オブジェクトを作成します

サーバー応答の準備ができました

サーバー上のファイル送信リクエスト

URL (ドロップダウンリストの内容を含む) の最後に追加されたパラメーター (q) に注意してください

PHP ファイル

サーバーページ上の段落で JavaScript によって呼び出されるファイルの名前は「getcd.php」という PHP ファイルです。

PHP スクリプトは XML ドキュメント「cd_catalog.xml」をロードし、XML ファイルに対して クエリ を実行し、結果を HTML で返します:

<?php
$q=$_GET["q"];$xmlDoc = new DOMDocument();$xmlDoc->load("cd_catalog.xml");$x=$xmlDoc->getElementsByTagName(&#39;ARTIST&#39;);for ($i=0; $i<=$x->length-1; $i++){    // 处理元素节点    if ($x->item($i)->nodeType==1)    {        if ($x->item($i)->childNodes->item(0)->nodeValue == $q)        {            $y=($x->item($i)->parentNode);        }    }}$cd=($y->childNodes);for ($i=0;$i<$cd->length;$i++){     // 处理元素节点    if ($cd->item($i)->nodeType==1)    {        echo("<b>" . $cd->item($i)->nodeName . ":</b> ");        echo($cd->item($i)->childNodes->item(0)->nodeValue);        echo("<br>");    }}?>

CD クエリが JavaScript から PHP ページに送信されると、

PHP XML DOM オブジェクトを作成します

JavaScript によって渡されたデータと一致する cbb6a5431263fa60a8770e5fc7758c8f 要素内の名前をすべて検索します

アルバム情報を出力し、「txtHint」プレースホルダーを送り返します

この記事では、 AJAX と XML インタラクションの関係について詳しくは、php 中国語 Web サイトを参照してください。

関連する推奨事項:

PHPについて - AJAXとMySQLの間の相互作用

PHPについて - AJAXとPHPの間の接続

PHP Simple XMLに関する関連知識

以上がPHP サンプルについて - AJAX と XML の相互作用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。