xmlHttp
onreadystatechange = updatePage;
此語句已經要放在send()語句前面這樣才會有效後面的updatePage是處理返回信息的一個函數完整的getInfo()如下
function getInfo() {
var num = document
getElementById(
num
)
value;//獲得表單的數據
var url =
/ajax/
php?n=
+ escape(num);
xmlHttp
open(
GET
url
true);//這裡的true代表是異步請求
xmlHttp
onreadystatechange = updatePage;
xmlHttp
send(null);
}
我們還需要在html裡面來觸發這個函數
<input name=
num
id=
num
onblur=
getInfo()
type=
text
/>
下面我們需要來編寫updatePage()這個函數
function updatePage(){
if (xmlhttp
readyState ==
) {
var response = xmlhttp
responseText;
document
getElementById(
city
)
value = response;
}
}
上面這段代碼裡面的readyState是服務器返回的一個狀態這個狀態表示請求已經發送並處理完畢responseText是獲得服務器返回的信息然後通過javascript賦給ID為city的表單
到此一個簡單的Ajax程序就完成了完整的javascript代碼如下
var xmlHttp = false;
try {
xmlHttp = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
xmlHttp = new ActiveXObject(
Msxml
XMLHTTP
);
} catch (othermicrosoft) {
try {
xmlHttp = new ActiveXObject(
Microsoft
XMLHTTP
);
} catch (failed) {
xmlHttp = false;
}
}
}
if (!xmlHttp){
alert(
無法創建 XMLHttpRequest 對象!
);
}
function getInfo() {
var num = document
getElementById(
num
)
value;//獲得表單的數據
var url =
/ajax/
php?n=
+ escape(num);
xmlHttp
open(
GET
url
true);//這裡的true代表是異步請求
xmlHttp
onreadystatechange = updatePage;
xmlHttp
send(null);
}
function updatePage(){
if (xmlhttp
readyState ==
) {
var response = xmlhttp
responseText;
document
getElementById(
city
)
value = response;
}
}
這裡還缺一個php文件由於處理的方式不一樣寫法也不一樣而且這不是Ajax的主要部分所以這裡就不放代碼了只要記住php是輸出並返回所需要的數據就可以了
[] []
From:http://tw.wingwit.com/Article/program/PHP/201311/21462.html