2008年10月5日 星期日

AJAX

  AJAX為近兩年網路上熱門的討論話題,它的全名為Asynchronous JavaScript and XML(非同步的JavaScript與XML),是一種建立互動式網頁的瀏覽器端開發技術,主要原理是運用JavaScript針對網頁文件DOM(Document Object Model)進行動態顯示及交互控制,並使用XML和XSLT進行資料交換及相關操作。它的優點是整個網頁頁面不需要重新下載,加快網頁介面顯示速度,減少網路流量,減輕伺服器負擔,減少使用者等待頁面更新的時間,如果使用得當,能建立更具互動性與親和性的使用操作介面,讓執行網路應用程式也能像桌面應用程式一樣方便、靈活、快速。



  它主要是依據下列原理與方式作用:

 1. 使用XHTML+CSS來控制顯示資訊的介面。

 2. 使用JavaScript操作DOM(Document Object Model)進行動態顯示及交互控制。

 3. 使用XML和XSLT進行資料交換及相關操作。

 4. 使用XMLHttpRequest物件與Web伺服器進行非同步資料交換。

 5. 使用隱藏的iframe做非同步背景執行,將客戶端的請求送至伺服器端處理,又將伺服器的處理結果使用JavaScript顯示於客戶端畫面。

 6. 它是瀏覽器端的程式,與伺服器端採用的Server Script無關,可以與伺服器端ASP、PHP、JSP、.NET、ColdFusion等不同語言開發的程式相互結合。



  傳統網頁瀏覽器與伺服器之間的請求/回應溝通,是採用同步式通訊;而AJAX是一種三層式架構的非同步通訊,如圖1圖2所示,在瀏覽器與伺服器之間多了AJAX引擎,其實AJAX引擎也是位於瀏覽器端,它的運作流程如下: 1. 使用者對瀏覽器動作,例如按下按鈕或輸入文字,觸發JavaScript函式。 2. AJAX引擎於背景去對伺服器發出http請求,而在AJAX引擎動作的同時,這個JavaScript呼叫已經回傳給呼叫者,這樣的動作稱為非同步通訊,另外當AJAX引擎得到伺服器的http回應時,AJAX引擎會在直接呼叫對應的函式通知瀏覽器在使用者介面上做出反應。

沒有留言:

張貼留言