完全了解AJAX

主頁 > 學習 > ajax >

次瀏覽

摘要:盡管AJAX是個相對新生的術語,但其背后的技術卻并不新穎。我們從基礎開始認識AJAX,一種顛覆性的技術,其改變了Web應用程序的開發和應用方式,使得交互性頁面和網站處于目前網絡潮流的最前沿。

盡管AJAX是個相對新生的術語,但其背后的技術卻并不新穎。隨著XMLHttpRequest對象在大多數瀏覽器中的實現,以及GMail和Google Maps的出現激發了軟件開發者重新考慮如何構建網頁的靈感。我們從基礎開始認識AJAX,一種顛覆性的技術,其改變了Web應用程序的開發和應用方式,使得交互性頁面和網站處于目前網絡潮流的最前沿。

當請求被發送到瀏覽器后,其所具有的改變網頁內容的功能已經存在許多年了-使用javascript腳本改變iframe's src屬性是技術之一。

XMLHttpRequest對象

XMLHttpRequest對象使AJAX的出現成為可能,它產生異步請求,并決定如何處理結果。在大多數瀏覽器中,我們使用如下代碼來創建對象:

var xmlhttp = false;

try {

xmlhttp = new XMLHttpRequest();

} catch (e) {

alert("cannot create object");

}

不幸的是,上文中所提到的“大多數瀏覽器”并不包括IE,因此對于微軟的瀏覽器,我們需要采用一種特殊的方法創建對象。值得注意的是,根據MSXML解析器的不同版本,需要分別編寫兩種代碼。

var xmlhttp = false;

try {

xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");

} catch (othermicrosoft) {

try {

xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

} catch (failed) {

xmlhttp = false;

}

因此,結合上述兩個代碼片段,我們得到了以下適合所有主流瀏覽器創建XMLHttpRequest對象的代碼:

var xmlhttp = false;

try {

xmlhttp = new XMLHttpRequest();

} catch (trymicrosoft) {

try {

xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");

} catch (othermicrosoft) {

try {

xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");

} catch (failed) {

xmlhttp = false;

}

}

}

隨機新聞
急速赛车收