天天看點

ajax的異步互動技術,AJAX異步互動技術淺析.doc

AJAX異步互動技術淺析

摘 要:針對AJAX在Web編碼開發中的應用問題,讨論了AJAX異步互動技術的元件構成以及實作原理,闡述異步技術的适用場景;同時結合實際應用讨論了AJAX的文法規則,最後分析了AJAX技術在B/S開發中重要作用。

關鍵詞:AJAX;異步互動;局部重新整理;回調

DOI:10.16640/ki.37-1222/t.2017.04.188

1 前言

AJAX是一種前端的動态互動技術,廣泛應用于基于B/S結構的Web應用開發中,其局部重新整理的技術既提升使用者的體驗,同時也進一步減輕用戶端與伺服器的資料互動量,為應用系統性能的提升建立了良好條件。

2 認識同步異步

在Web應用中,前後端的互動有兩種方式實作:同步及異步。同步是指完成一件任務過程中分若幹步驟,每個步驟的先後順序嚴格區分,不能同時并發執行;異步則是指完成一件任務過程雖然分若幹步驟,但每個步驟間沒有嚴格的先後順序,多個步驟可以在同一時間并發執行。如圖1所示的喝茶流程,使用同步方式實作從洗茶壺到泡茶,每個環節先後順序明确,整個流程需要30分鐘;如果使用異步的方式實作,在燒開水期間同時進行洗茶具、準備茶葉工作,則整個流程隻需20分鐘即。從以上的流程中可以看到使用異步的實作方式明顯優于同步的方式,因而在一般的互動應用中使用異步方式居多,AJAX就是使用異步的互動技術進行前後端通信。

3 AJAX原理分析

AJAX又叫異步的JavaScript與XML,是一種融合了前端腳本、動态HTML、可擴充标記語言與DOM模型的衍生技術。其關鍵核心元件是AJAX引擎,引擎中包含XMLHttpRequest對象與Callback回調函數。在整個互動過程中XMLHttpRequest對象又是核心要點,一般在用戶端浏覽器本身可以建立該對象,如果用戶端浏覽器不支援此對象,則須通過DOM方式去建立。

AJAX的互動流程共有5步,如?D2所示。

(1)GUI使用者接口通過JavaScript腳本向AJAX引擎發送資料互動請求,引擎接收到請求後會建立XMLHttpRequest對象。(2)XMLHttpRequest對象通過超文本傳輸協定向Web或XML類型伺服器發送業務請求,要求互動資料。(3)伺服器端接收到請求後,進行相關業務邏輯處理,一般情況下還會與資料存儲源做相應的資料檢索互動。(4)Web或XML伺服器處理完業務邏輯後,即刻向AJAX引擎傳回資料,并觸發引擎中的Callback回調函數;傳回的資料有兩種格式類型,可以是普通文本類型,也可以是XML類型。(5)Callback回調函數最終向GUI使用者接口傳回HTML格式的資料包資訊,包括CSS樣式,向使用者進行展示,實作局部重新整理的效果。

與傳統的Web互動模式相比,AJAX互動模式中間多了互動引擎。傳統的互動方式是GUI直接向Web伺服器發送資料互動請求,之後GUI一直處于等待狀态,一直到伺服器端有資料響應後才能進行其它的操作,對使用者來說體驗相對較差;而AJAX互動則是從GUI向引擎發送請求,再由AJAX引擎向Web服務端發資料互動請求,如果Web服務的資料處理時間較長,步驟1完成後可不必等待步驟5響應即可進行其它的操作,因而能夠更好的改善使用者體驗。

4 AJAX實作過程

根據上面的原理分析可知,AJAX技術不是一門新技術,而是幾種前端技術的機組合,要實作一個完整的AJAX應用,大概有如下幾個要點。首先,建立XMLHttpRequest對象,這是關鍵核心所在,一般在浏覽器中可建立該對象,特殊情況下需使用DOM方式實作。其次,定義回調函數,當Web伺服器端有資料響應時會自動觸發該函數,在該函數需判斷資料的響應狀态以及HTTP協定狀态。最後,設定好相關參數、請求URL,使用Open的方法與伺服器建立連接配接,并向服務發送資料,并指定回調函數。

實作以上三個要點,一個AJAX應用即可展現在你的面前,作為開發人員即可感受到征服AJAX技術的成就感。

5 結束語

AJAX不是一種新的程式設計語言,是一種用于建立快速動态網頁,獨立于Web服務的浏覽器技術。因其能極好的改善使用者體驗,在1998年提出後立刻吸引了廣大開發人員的關注,并得到了廣泛的應用。AJAX雖然優勢非常明顯,但也有不夠的地方,如相容性、穩定性相對較弱,當使用者修改浏覽器安全等級,關閉JavaScript腳本功能後,代碼将無法工作,AJAX功能将喪失。如何進一步提升AJAX的相容性是未來研究的重點。

參考文獻:

[1]王建國.Ajax技術在網站開發中的應用研究[J].湖南城市學院學報:自然科學版,2016(01):155-156.

[2]李志偉.基于AJAX的網頁資訊互動技術要