• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      AJAX異步交互技術(shù)淺析

      2017-03-28 15:37:06溫立輝
      山東工業(yè)技術(shù) 2017年4期

      溫立輝

      摘 要:針對AJAX在Web編碼開發(fā)中的應(yīng)用問題,討論了AJAX異步交互技術(shù)的組件構(gòu)成以及實現(xiàn)原理,闡述異步技術(shù)的適用場景;同時結(jié)合實際應(yīng)用討論了AJAX的語法規(guī)則,最后分析了AJAX技術(shù)在B/S開發(fā)中重要作用。

      關(guān)鍵詞:AJAX;異步交互;局部刷新;回調(diào)

      DOI:10.16640/j.cnki.37-1222/t.2017.04.188

      1 前言

      AJAX是一種前端的動態(tài)交互技術(shù),廣泛應(yīng)用于基于B/S結(jié)構(gòu)的Web應(yīng)用開發(fā)中,其局部刷新的技術(shù)既提升用戶的體驗,同時也進(jìn)一步減輕客戶端與服務(wù)器的數(shù)據(jù)交互量,為應(yīng)用系統(tǒng)性能的提升創(chuàng)建了良好條件。

      2 認(rèn)識同步異步

      在Web應(yīng)用中,前后端的交互有兩種方式實現(xiàn):同步及異步。同步是指完成一件任務(wù)過程中分若干步驟,每個步驟的先后順序嚴(yán)格區(qū)分,不能同時并發(fā)執(zhí)行;異步則是指完成一件任務(wù)過程雖然分若干步驟,但每個步驟間沒有嚴(yán)格的先后順序,多個步驟可以在同一時間并發(fā)執(zhí)行。如圖1所示的喝茶流程,使用同步方式實現(xiàn)從洗茶壺到泡茶,每個環(huán)節(jié)先后順序明確,整個流程需要30分鐘;如果使用異步的方式實現(xiàn),在燒開水期間同時進(jìn)行洗茶具、準(zhǔn)備茶葉工作,則整個流程只需20分鐘即。從以上的流程中可以看到使用異步的實現(xiàn)方式明顯優(yōu)于同步的方式,因而在一般的交互應(yīng)用中使用異步方式居多,AJAX就是使用異步的交互技術(shù)進(jìn)行前后端通信。

      3 AJAX原理分析

      AJAX又叫異步的JavaScript與XML,是一種融合了前端腳本、動態(tài)HTML、可擴(kuò)展標(biāo)記語言與DOM模型的衍生技術(shù)。其關(guān)鍵核心組件是AJAX引擎,引擎中包含XMLHttpRequest對象與Callback回調(diào)函數(shù)。在整個交互過程中XMLHttpRequest對象又是核心要點,一般在客戶端瀏覽器本身可以創(chuàng)建該對象,如果客戶端瀏覽器不支持此對象,則須通過DOM方式去創(chuàng)建。

      AJAX的交互流程共有5步,如圖2所示。

      (1)GUI用戶接口通過JavaScript腳本向AJAX引擎發(fā)送數(shù)據(jù)交互請求,引擎接收到請求后會創(chuàng)建XMLHttpRequest對象。(2)XMLHttpRequest對象通過超文本傳輸協(xié)議向Web或XML類型服務(wù)器發(fā)送業(yè)務(wù)請求,要求交互數(shù)據(jù)。(3)服務(wù)器端接收到請求后,進(jìn)行相關(guān)業(yè)務(wù)邏輯處理,一般情況下還會與數(shù)據(jù)存儲源做相應(yīng)的數(shù)據(jù)檢索交互。(4)Web或XML服務(wù)器處理完業(yè)務(wù)邏輯后,即刻向AJAX引擎返回數(shù)據(jù),并觸發(fā)引擎中的Callback回調(diào)函數(shù);返回的數(shù)據(jù)有兩種格式類型,可以是普通文本類型,也可以是XML類型。(5)Callback回調(diào)函數(shù)最終向GUI用戶接口返回HTML格式的數(shù)據(jù)包信息,包括CSS樣式,向用戶進(jìn)行展示,實現(xiàn)局部刷新的效果。

      與傳統(tǒng)的Web交互模式相比,AJAX交互模式中間多了交互引擎。傳統(tǒng)的交互方式是GUI直接向Web服務(wù)器發(fā)送數(shù)據(jù)交互請求,之后GUI一直處于等待狀態(tài),一直到服務(wù)器端有數(shù)據(jù)響應(yīng)后才能進(jìn)行其它的操作,對用戶來說體驗相對較差;而AJAX交互則是從GUI向引擎發(fā)送請求,再由AJAX引擎向Web服務(wù)端發(fā)數(shù)據(jù)交互請求,如果Web服務(wù)的數(shù)據(jù)處理時間較長,步驟1完成后可不必等待步驟5響應(yīng)即可進(jìn)行其它的操作,因而能夠更好的改善用戶體驗。

      4 AJAX實現(xiàn)過程

      根據(jù)上面的原理分析可知,AJAX技術(shù)不是一門新技術(shù),而是幾種前端技術(shù)的機(jī)組合,要實現(xiàn)一個完整的AJAX應(yīng)用,大概有如下幾個要點。首先,創(chuàng)建XMLHttpRequest對象,這是關(guān)鍵核心所在,一般在瀏覽器中可創(chuàng)建該對象,特殊情況下需使用DOM方式實現(xiàn)。其次,定義回調(diào)函數(shù),當(dāng)Web服務(wù)器端有數(shù)據(jù)響應(yīng)時會自動觸發(fā)該函數(shù),在該函數(shù)需判斷數(shù)據(jù)的響應(yīng)狀態(tài)以及HTTP協(xié)議狀態(tài)。最后,設(shè)置好相關(guān)參數(shù)、請求URL,使用Open的方法與服務(wù)器建立連接,并向服務(wù)發(fā)送數(shù)據(jù),并指定回調(diào)函數(shù)。

      實現(xiàn)以上三個要點,一個AJAX應(yīng)用即可展現(xiàn)在你的面前,作為開發(fā)人員即可感受到征服AJAX技術(shù)的成就感。

      5 結(jié)束語

      AJAX不是一種新的編程語言,是一種用于創(chuàng)建快速動態(tài)網(wǎng)頁,獨(dú)立于Web服務(wù)的瀏覽器技術(shù)。因其能極好的改善用戶體驗,在1998年提出后立刻吸引了廣大開發(fā)人員的關(guān)注,并得到了廣泛的應(yīng)用。AJAX雖然優(yōu)勢非常明顯,但也有不夠的地方,如兼容性、穩(wěn)定性相對較弱,當(dāng)用戶修改瀏覽器安全等級,關(guān)閉JavaScript腳本功能后,代碼將無法工作,AJAX功能將喪失。如何進(jìn)一步提升AJAX的兼容性是未來研究的重點。

      參考文獻(xiàn):

      [1]王建國.Ajax技術(shù)在網(wǎng)站開發(fā)中的應(yīng)用研究[J].湖南城市學(xué)院學(xué)報:自然科學(xué)版,2016(01):155-156.

      [2]李志偉.基于AJAX的網(wǎng)頁信息交互技術(shù)要點及優(yōu)勢[J].產(chǎn)業(yè)與科技論壇,2016(09):86-86.

      [3]靖偉.Ajax技術(shù)的研究與應(yīng)用[J].中國傳媒大學(xué)學(xué)報:自然科學(xué)版,2015,22(06):50-55.

      [4]王玉娟,徐繞山.Ajax技術(shù)缺陷及其優(yōu)化[J].科技傳播,2010(06):84-84,86.

      [5]周柱,郎朗.Ajax技術(shù)在B/S架構(gòu)中的數(shù)據(jù)傳輸應(yīng)用研究[J].新余學(xué)院學(xué)報,2016,21(03):109-113.

      桂东县| 特克斯县| 长沙县| 徐州市| 淮滨县| 隆尧县| 江陵县| 出国| 陆河县| 外汇| 樟树市| 德钦县| 精河县| 登封市| 波密县| 友谊县| 上思县| 芷江| 磴口县| 汝南县| 同德县| 卢龙县| 泗洪县| 潍坊市| 田阳县| 丹巴县| 西乡县| 定兴县| 突泉县| 闽侯县| 西峡县| 新建县| 广饶县| 蒙城县| 清流县| 洪泽县| 方山县| 车致| 娄底市| 会昌县| 侯马市|