下面的源代碼屬於上一節的 AJAX 實例。
您可以拷貝粘貼這些代碼,然後親自測試一下。
這是 HTML 頁面。它包含了一個簡單的 HTML 表單,以及一個指向 JavaScript 的鏈接。
<html> <head> <script src="clienthint.js"></script> </head> <body> <form> First Name:<input type="text"id="txt1" onkeyup="showHint(this.value)"
/> </form> <p>Suggestions: <spanid="txtHint"
></span></p> </body> </html>
下面列出了 JavaScript 代碼。
這是 JavaScript 代碼,存儲在文件 "clienthint.js" 中:
var xmlHttpfunction showHint(str)
{ if (str.length==0) { document.getElementById("txtHint").innerHTML=""; return; } xmlHttp=GetXmlHttpObject() if (xmlHttp==null) { alert ("您的浏覽器不支持AJAX!"); return; } var url="gethint.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 服務器”。AJAX 頁面可以由任一因特網服務器提供服務。
在上一節的例子中被 JavaScript 調用的服務器頁面是一個簡單的名為 "gethint.asp" 的 ASP 文件。
下面我們列出了這個服務器頁面代碼的實例,使用 ASP 來編寫。
"gethint.asp" 頁面中的代碼針對 IIS 使用 VBScript 編寫。它會檢查一個名字數組,然後向客戶端返回相應的名字:
<% response.expires=-1 dim a(30) '用名字為數組賦值 a(1)="Anna" a(2)="Brittany" a(3)="Cinderella" a(4)="Diana" a(5)="Eva" a(6)="Fiona" a(7)="Gunda" a(8)="Hege" a(9)="Inga" a(10)="Johanna" a(11)="Kitty" a(12)="Linda" a(13)="Nina" a(14)="Ophelia" a(15)="Petunia" a(16)="Amanda" a(17)="Raquel" a(18)="Cindy" a(19)="Doris" a(20)="Eve" a(21)="Evita" a(22)="Sunniva" a(23)="Tove" a(24)="Unni" a(25)="Violet" a(26)="Liza" a(27)="Elizabeth" a(28)="Ellen" a(29)="Wenche" a(30)="Vicky" '從URL取得參數q q=ucase(requ