Ajax全稱為“Asynchronous JavaScript and XML”(非同步JavaScript和XML),是指一種建立互動式網頁應用的網頁開發技術。Ajax技術是目前在瀏覽器中通過JavaScript指令碼可以使用的所有技術的集合。Ajax以一種嶄新的方式來使用所有的這些技術,使得古老的B/S方式的Web開發煥發了新的活力。
Ajax技術之中,最核心的技術就是XMLHttpRequest,它最初的名稱叫做XMLHTTP,是微軟公司為了滿足開發人員的需要,1999年在IE5.0瀏覽器中率先推出的。後來這個技術被上述的規範命名為XMLHttpRequest。它正是Ajax技術之所以與眾不同的地方。簡而言之,XMLHttpRequest為運行於瀏覽器中的JavaScript指令碼提供了一種在頁面之內與伺服器通訊的手段。頁面內的JavaScript可以在不重新整理頁面的情況下從伺服器擷取資料,或者向伺服器提交資料。XMLHttpRequest的出現為Web開發提供了一種全新的可能性,甚至整個改變了人們對於Web應用由什麼來組成的看法。它可以使我們以一種全新的方式來做Web開發,為使用者提供更好的互動體驗。
與傳統的Web開發不同,Ajax並不是以一種基於靜態頁面的方式來看待Web應用的。從Ajax的角度看來,Web應用應由少量的頁面組成,其中每個頁面其實是一個更小型的Ajax應用。每個頁面上面都包括有一些使用JavaScript開發的Ajax組件。這些組件使用XMLHttpRequest對象以非同步方式與伺服器通訊,從伺服器擷取需要的資料後使用DOM API來更新頁面中的一部分內容。因此Ajax應用與傳統的Web應用的區別主要在三個地方:
1. 不重新整理整個頁面,在頁面內與伺服器通訊。
2. 使用非同步方式與伺服器通訊,不需要打斷使用者的操作,具有更加迅速的的響應能力。
3. 應用僅由少量頁面組成。大部分互動在頁面之內完成,不需要切換整個頁面。
由此可見,Ajax使得Web應用更加動態,帶來了更高的智能,並且提供了表現能力豐富的Ajax UI組件。這樣一類新型的Web應用叫做RIA(Rich Internet Application)應用。
前面是本人在網上找的一些關於AJAX介紹的資料,以協助不瞭解AJAX技術的讀者儘快瞭解AJAX技術,下面本人將會把自己在實際開發過程中用到的一些AJAX技術及技巧給大家介紹一下.
使用AJAX技術最重要的就是建立XMLHttpRequest對象,關於如何建立該對象網上有很多資料.本人最常用的一個方法是
function createXMLHttpRequest() {
var xmlhttp;
try {
xmlhttp = new ActiveXObject('Msxml2.XMLHTTP');
} catch(e) {
try {
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
} catch(e) {
try {
xmlhttp = new XMLHttpRequest();
} catch(e) {
alert("建立XMLHttpRequest對象失敗!");
}
}
}
return xmlhttp;
}