PHP和AJAXXML實例-6.4PHP和AJAX

AJAX 可與 XML 文件進行交互式通信。

創新互聯專業為企業提供高平網站建設、高平做網站、高平網站設計、高平網站制作等企業網站建設、網頁設計與制作、高平企業網站模板建站服務,十多年高平做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。

AJAX XML 實例

在下面的 AJAX 實例中,我們將演示網頁如何使用 AJAX 技術從 XML 文件中讀取信息。

在下面的下列列表中選擇一個 CD

選擇 CD:  Bob Dylan Bonnie Tyler Dolly Parton 

在此列出 CD 信息。

本例包括三張頁面:

一個簡單 HTML 表單一個 XML 文件一個 JavaScript 文件一張 PHP 頁面
HTML 表單

上面的例子包含了一張簡單的 HTML 表單,以及指向 JavaScript 的鏈接:

<html><head><script src="selectcd.js"></script></head><body><form> Select a CD:<select name="cds" onchange="showCD(this.value)"><option value="Bob Dylan">Bob Dylan</option><option value="Bee Gees">Bee Gees</option><option value="Cat Stevens">Cat Stevens</option></select></form><p><div id="txtHint"><b>CD info will be listed here.</b></div></p></body></html> 例子解釋:

正如您看到的,它僅僅是一張簡單的 HTML 表單,其中帶有名為 "cds" 的下拉列表。

表單下面的段落包含了一個名為 "txtHint" 的 div。這個 div 用作從 web 服務器檢索到的數據的占位符。

當用戶選擇數據時,會執行名為 "showCD" 的函數。這個函數的執行是由 "onchange" 事件觸發的。

換句話說,每當用戶改變了下拉列表中的值,就會調用 showCD 函數。

XML 文件

XML 文件是 "cd_catalog.xml"。該文件中包含了有關 CD 收藏的數據。

JavaScript

這是存儲在 "selectcd.js" 文件中的 JavaScript 代碼:

var xmlHttpfunction showCD(str){ xmlHttp=GetXmlHttpObject()if (xmlHttp==null) { alert ("Browser does not support HTTP Request") return } var url="getcd.php"url=url+"?q="+strurl=url+"&sid="+Math.random()xmlHttp.onreadystatechange=stateChanged xmlHttp.open("GET",url,true)xmlHttp.send(null)}function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { document.getElementById("txtHint").innerHTML=xmlHttp.responseText } }function GetXmlHttpObject(){var xmlHttp=null;try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); }catch (e) { // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } }return xmlHttp;} 例子解釋:

stateChanged() 和 GetXmlHttpObject 函數與上一節中的相同,您可以參閱上一頁中的相關解釋。

showCD() 函數

假如選擇了下拉列表中的某個項目,則函數執行:

調用 GetXmlHttpObject 函數來創建 XMLHTTP 對象定義發送到服務器的 URL(文件名)向 URL 添加帶有下拉列表內容的參數 (q)添加一個隨機數,以防服務器使用緩存的文件當觸發事件時調用 stateChanged通過給定的 URL 打開 XMLHTTP 對象向服務器發送 HTTP 請求
PHP 頁面

這個被 JavaScript 調用的服務器頁面,是一個名為 "getcd.php" 的簡單 PHP 文件。

這張頁面是用 PHP 編寫的,使用 XML DOM 來加載 XML 文檔 "cd_catalog.xml"。

代碼運行針對 XML 文件的查詢,并以 HTML 返回結果:

<?php$q=$_GET["q"];$xmlDoc = new DOMDocument();$xmlDoc->load("cd_catalog.xml");$x=$xmlDoc->getElementsByTagName('ARTIST');for ($i=0; $i<=$x->length-1; $i++){//Process only element nodesif ($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++){ //Process only element nodesif ($cd->item($i)->nodeType==1) { echo($cd->item($i)->nodeName); echo(": "); echo($cd->item($i)->childNodes->item(0)->nodeValue); echo("<br />"); } }?> 例子解釋

當請求從 JavaScript 發送到 PHP 頁面時,發生:

PHP 創建 "cd_catalog.xml" 文件的 XML DOM 對象循環所有 "artist" 元素 (nodetypes = 1),查找與 JavaScript 所傳數據向匹配的名字找到 CD 包含的正確 artist輸出 album 的信息,并發送到 "txtHint" 占位符

網頁名稱:PHP和AJAXXML實例-6.4PHP和AJAX
本文路徑:http://m.kartarina.com/article36/dghhosg.html

成都網站建設公司_創新互聯,為您提供網站設計公司建站公司軟件開發網站設計虛擬主機Google

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都app開發公司
主站蜘蛛池模板: 亚洲AV无码无限在线观看不卡| 色综合久久久无码网中文| 国产精品VA在线观看无码不卡| 久久亚洲av无码精品浪潮| 亚洲人成影院在线无码观看| 久久青青草原亚洲AV无码麻豆| 亚洲中文字幕无码久久| 九九在线中文字幕无码| 亚洲国产精品无码久久久不卡| 亚洲精品av无码喷奶水糖心| 亚洲va无码专区国产乱码| 日韩AV无码一区二区三区不卡| 国产乱人伦Av在线无码| 内射无码专区久久亚洲| 精品无码一区二区三区亚洲桃色| 亚洲一区无码精品色| 无码h黄肉3d动漫在线观看| 日韩人妻无码精品久久久不卡| 无码的免费不卡毛片视频| 无码人妻丰满熟妇啪啪网站牛牛| 无码欧精品亚洲日韩一区| 一本大道东京热无码一区| 亚洲AV无码一区二三区 | 无码日韩精品一区二区三区免费| 精品国产v无码大片在线观看| 国模无码人体一区二区| 中文成人无码精品久久久不卡| 国产精品无码一区二区三区在 | 国产AV无码专区亚洲AVJULIA| 日韩人妻无码免费视频一区二区三区 | 成人无码A区在线观看视频| 亚洲Aⅴ无码一区二区二三区软件| 亚洲精品无码国产片| 中字无码av电影在线观看网站| 久久久国产精品无码免费专区| 无码日韩精品一区二区免费暖暖| 无码视频在线观看| 99国产精品无码| 亚洲AV无码国产一区二区三区| 中日韩亚洲人成无码网站| 精品人妻无码一区二区三区蜜桃一|