Ajax 由 HTMLJavaScript; 技術DHTML 和 DOM 組成這一傑出的方法可以將笨拙的 Web 界面轉化成交互性的 Ajax 應用程序對於Ajax最核心的一個對象是XMLHttpRequest所有的Ajax操作都離不開對這個對象的操作
首先我們來了解怎麼在javascript中創建這個對象
var xmlHttp = new XMLHttpRequest();
這行簡單的代碼在 MozillaFirefoxSafariOpera 以及基本上所有以任何形式或方式支持 Ajax 的非 Microsoft 浏覽器中創建了 XMLHttpRequest 對象但是對於市場占有率達到%的IE來說這種方法是不行的而不同的IE版本還有不同的創建方法所以我們需要在IE下面使用下面兩種創建對象的辦法
try {
xmlHttp = new ActiveXObject(
Msxml
XMLHTTP
);//針對較新的浏覽器
} catch (err) {
try {
xmlHttp = new ActiveXObject(
Microsoft
XMLHTTP
);//針對較老的浏覽器
} catch (err
) {
xmlHttp = false;
}
}
即使這樣我們也無法預料有些浏覽器可能無法創建這個對象所以在創建不成功的情況下我們還要加上一句
if (!xmlHttp){
alert(
無法創建 XMLHttpRequest 對象!
);
}
結合起來就是
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 對象!
);
}
然後讓我們建立一個函數getInfo()打開異步請求
function getInfo() {
var num = document
getElementById(
num
)
value;//獲得表單的數據
var url =
/ajax/
php?n=
+ escape(num);
xmlHttp
open(
GET
url
true);//這裡的true代表是異步請求
}
一旦用 open() 配置好之後就可以發送請求了雖然可以使用 send() 發送數據但也能通過 URL 本身發送數據事實上在大部分GET 請求中用 URL 發送數據要容易得多所以這裡用null作為send()的參數就可以了url地址裡面的php文件是被請求來處理所需要數據的php文件就像我們平時用PHP的時候一樣後面的參數可以加多個並用&分隔開來
xmlHttp
send(null);
在發送了數據之後我們需要用回調方法來獲得服務器的狀態所以就用到了onreadystatechange 屬性
[] []
From:http://tw.wingwit.com/Article/program/PHP/201311/21461.html