日韩av爽爽爽久久久久久,嫩草av久久伊人妇女超级a,久久精品a亚洲国产v高清不卡,久久成人国产精品一区二区

知識(shí)學(xué)堂
  • ·聯(lián)系電話(huà):+86.023-75585550
  • ·聯(lián)系傳真:+86.023-75585550
  • ·24小時(shí)手機(jī):13896886023
  • ·QQ 咨 詢(xún):361652718 513960520
當(dāng)前位置 > 首頁(yè) > 知識(shí)學(xué)堂 > 網(wǎng)站建設(shè)知識(shí)
AJAX教程(11):AJAX XML 實(shí)例
更新時(shí)間:2011-12-19 | 發(fā)布人:本站 | 點(diǎn)擊率:359

AJAX XML 實(shí)例

在下面的 AJAX 實(shí)例中,我們將演示如何通過(guò)使用 AJAX 技術(shù),從 XML 文件中讀取信息。

在下面的下列列表中選擇一個(gè) CD

在此列出 CD 信息。

AJAX 實(shí)例解釋

上面的例子包含了一個(gè)簡(jiǎn)單的 HTML 表單,以及指向一段 JavaScript 的鏈接:

<html>
<head>
<script src="selectcd.js"></script>
</head>

<body>

<form> 
選擇 CD:
<select name="cds" onchange="showCD(this.value)">
<option value="Bob Dylan">Bob Dylan</option>
<option value="Bonnie Tyler">Bonnie Tyler</option>
<option value="Dolly Parton">Dolly Parton</option> 
</select>
</form>

<p>
<div id="txtHint"><em>在此列出 CD 信息。</em></div>
</p>

</body>
</html>

正如您所看到的,它只是一個(gè)帶有名為 "cds" 的下拉列表的簡(jiǎn)單 HTML 表單。

表單下面的段落包含一個(gè)名為 "txtHint" 的 div。該 div 用作從 web 服務(wù)器接受的數(shù)據(jù)的位置占位符。

當(dāng)用戶(hù)選擇列表時(shí),名為 "showCD" 的函數(shù)就會(huì)被執(zhí)行。該函數(shù)的執(zhí)行是 "onchange" 事件觸發(fā)的。換句話(huà)說(shuō),每當(dāng)用戶(hù)改變了下拉列表的值,這個(gè) showCD 函數(shù)就會(huì)被調(diào)用。

下面列出了 JavaScript 代碼。

AJAX JavaScript

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

var xmlHttp

function showCD(str)
{ 
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
var url="getcd.asp";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}

function stateChanged()
{ 
if (xmlHttp.readyState==4)
{ 
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;
}

AJAX 服務(wù)器頁(yè)面

被 JavaScript 調(diào)用的服務(wù)器頁(yè)面,是名為 "getcd.asp" 的簡(jiǎn)單 ASP 文件。

該頁(yè)面使用 VBScript 編寫(xiě),針對(duì) Internet 信息服務(wù)器 (IIS)?梢杂 PHP 或其他服務(wù)器語(yǔ)言,簡(jiǎn)單地重寫(xiě)該頁(yè)面。

請(qǐng)看在 PHP 中對(duì)應(yīng)的例子(測(cè)試:缺具體頁(yè)面)。

該代碼執(zhí)行針對(duì) XML 文件的查詢(xún),并以 HTML 返回結(jié)果:

<%
response.expires=-1
q=request.querystring("q")

set xmlDoc=Server.CreateObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load(Server.MapPath("cd_catalog.xml"))

set nodes=xmlDoc.selectNodes("CATALOG/CD[ARTIST='" & q & "']")

for each x in nodes
  for each y in x.childnodes
    response.write("<b>" & y.nodename & ":</b> ")
    response.write(y.text)
    response.write("<br />")
  next
next
%>