初學Ajax就要弄明白和清晰的思路來一步步的建立Ajax以及怎樣應用Ajax下面開始學習它的實用步驟
1.首先我們要明白Ajax是非同步JavaScript的調用,因此要明白他最適合應用的場合非同步呼叫和局部更新
Ajax應用一般是建立XmlHttpRequest對象的應用也就是要建立xmlHttpRequest對象
2.建立XMlHttpRequest對象
在IE中XMlHttpRequest對象是有ActiveX活動組件建立的對象,在FireFox中有XmlHttpRequest組件可以直接調用,但是IE7中都有了這個組件了
但是注意在不懂瀏覽器版本有不同的XmlHttpRequest對象:下面以IE為例子建立一個XmlHttpRequest對象,建立這個對象由於IE的版本不同,因此我們把他寫成一個建立XmlHttpRequest的方法
var xmlhttp=null;
function createXmlHttp()
{
if(window.ActiveXObject)
{
var arractiveX=['Microsoft.XMLHTTP','MSXML2.XMLHTTP.6.0','MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP'];
for(var i=0; i<arractiveX.length; i++)
{
try
{
xmlhttp=new ActiveXObject(arractiveX[i]);
break;
}
catch(ex)
{
}
}
}
}
2.對象建立成功之後,判斷非同步呼叫的狀態即響應XmlHttpRequest狀態變化的函數
一用XmlHttpRequest對象的:readyState屬性的值來判斷非同步呼叫是否完成
readyState屬性的值:0代表XmlHttpRequest對象為初始化
1代表初始化完成
2.代表這個對象正處於發送狀態
3.代表正處於接受狀態
4.代表非同步呼叫完成
3.非同步呼叫完成了但是不代表執行成功了因此要判斷是否執行成功
用XmlHttpRequest對象的 status狀態的值來判斷
即 200代表成功
0代表無請求狀態,其他的不再舉例
一般判斷非同步呼叫是否成功兩者在if中結合起來調用
4.非同步呼叫成功之後就要接受資料
用XmlhttpRequest對象的responseText文字屬性或者reponseXml屬性接受值《只有這兩種方式》
上面是建立Ajax步驟以及應用
下面就開始實施調用
一首先調用建立函數產生XmlHttpRequest對象
二:判斷XmlHttpRequest對象是否建立成功
三:得到這個對象狀態變化的函數 、xmLHttpRequest對象的 onreadystatechange=方法
四:建立http請求 XmlHttpRequest的open()方法
五:發送HTTP請求 XmlHttpRequest的send()方法
六:使用Dom技術實現局部更新