AJAX 用于創造動态性更強的應用程式。
下面的例子将為您示範當使用者在輸入框中鍵入字元時,網頁如何與 web 伺服器進行通信:
請在下面的輸入框中鍵入字母(A - Z):
<b>在輸入框中嘗試輸入字母 a:</b>
輸入姓名:
提示資訊:
當使用者在上面的輸入框中鍵入字元時,會執行函數 "showHint()" 。該函數由 "onkeyup" 事件觸發:
function showHint(str)
{
var xmlhttp;
if (str.length==0)
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","/try/ajax/gethint.php?q="+str,true);
xmlhttp.send();
源代碼解析:
如果輸入框為空 str.length==0,則該函數清空 txtHint 占位符的内容,并退出函數。
如果輸入框不為空,showHint() 函數執行以下任務:
建立 XMLHttpRequest 對象
當伺服器響應就緒時執行函數
把請求發送到伺服器上的檔案
請注意我們向 URL 添加了一個參數 q (帶有輸入框的内容)
以上執行個體 JavaScript 調用的伺服器頁面是 PHP 檔案,名為 gethint.php。
下面,我們建立了兩個版本的伺服器檔案,一個用 ASP 編寫,另一個用 PHP 編寫。
"gethint.asp" 中的源代碼會檢查一個名字數組,然後向浏覽器傳回相應的名字:
下面的代碼用 PHP 編寫,與上面的 ASP 代碼作用是一樣的。