對于一個像我一樣剛剛接觸Web開發且無多少實際項目經驗的新手而言,AJAX技術顯得復雜而又深奧。經過兩天的baidu、google,我對AJAX的基本原理有了一個大致的認識,在此總結一下。
1. 什么是AJAX?
AJAX全稱是異步的JavaScript和XML,是Asynchronous JavaScript and XML的縮寫。AJAX技術用于創建交互式網頁應用的網站開發,至于何為異步,后文會有解釋。
1.1 桌面應用程序和Web應用程序
在詳細討論AJAX技術之前,需要先知道AJAX技術究竟是用來做什么工作的。目前,編寫應用程序總共有兩種基本類型:
桌面應用程序 (Desktop Application)
Web應用程序 (Web Application)
桌面應用程序可以從互聯網或者以CD方式獲得,需要運行在桌面計算機上,例如我們常見的一些PC軟件。Web應用程序與之不同,Web應用程序師運行在某處的Web服務器上的,因此需要通過Web瀏覽器去訪問這樣的應用程序。
不過,比這些應用程序的代碼運行在何處更為重要的是,應用程序如何運轉以及如何與其進行交互。桌面應用程序一般較快,并且擁有漂亮的用戶界面和非凡的動態性,可以單擊、選擇、打開菜單和子菜單、到處巡游,基本不需要等待;另一方面,Web應用程序(比如Amazon.com 和eBay)提供了桌面程序不能實現的服務。然而,伴隨著Web的強大而出現的是等待,等待服務器的響應,等待屏幕刷新,等待請求返回和生成新的界面。
AJAX的出現,就是為了緩解Web應用中與桌面應用相比中的等待這一問題。
1.2 AJAX - 老技術,新面孔
AJAX技術其實不是什么新技術,而是其他幾種已存在技術的整合。
AJAX應用程序使用到以下基本技術:
使用HTML和CSS來建立Web表單并表示網頁信息;
使用JavaScript來操作DOM(Document Object Model)來進行動態顯示及交互;
使用XMLHttpRequest對象與Web服務器進行異步數據交換;
使用XML進行數據交換及相關操作;
使用JavaScript將所有東西綁定在一起。
我們來進一步分析這些技術的職責。目前我只要熟悉這些組件和技術就可以了。對這些代碼越熟悉,就越容易從對這些技術的零散了解轉變到真正把握這些技術(同時也真正打開了 Web 應用程序開發的大門)。
XMLHttpRequest對象
要了解的一個對象可能對您來說也是最陌生的,即 XMLHttpRequest。這是一個 JavaScript 對象,創建該對象很簡單,如清單 1 所示。
清單 1. 創建新的 XMLHttpRequest 對象
代碼如下:
<script language="javascript" type="text/javascript">
<!--
var xmlHttp = new XMLHttpRequest();
// -->
</script>
以后將進一步學習這個對象,現在要知道這是處理所有服務器通信的對象。繼續閱讀之前,先停下來想一想:通過 XMLHttpRequest 對象與服務器進行對話的是 JavaScript 技術。這不是一般的應用程序流,這恰恰是 Ajax 的強大功能的來源。
新聞熱點
疑難解答
圖片精選