• 
    

    
    

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

      AJAX關(guān)鍵技術(shù)及其在軟件開發(fā)中的應(yīng)用

      2013-12-31 00:00:00閆孝麗
      電子世界 2013年22期

      【摘要】AJAX技術(shù)整合了XML、DOM及Javascript等多種技術(shù),并充分發(fā)揮了各項(xiàng)技術(shù),因而如今已經(jīng)發(fā)展成為深受廣大用戶青睞的軟件開發(fā)技術(shù),并獲得了良好的用戶體驗(yàn)。本文重點(diǎn)針對(duì)AJAX的原理及其關(guān)鍵技術(shù)進(jìn)行了分析,并就其在軟件開發(fā)中的應(yīng)用進(jìn)行了探討。

      【關(guān)鍵詞】AJAX關(guān)鍵技術(shù);軟件開發(fā);應(yīng)用

      AJAX采用異步調(diào)用方式進(jìn)行局部頁(yè)面的刷新,并以瀏覽器為基礎(chǔ)創(chuàng)建多種應(yīng)用,為用戶提供良好的交互使用體驗(yàn)。鑒于AJAX非凡的體驗(yàn)效果及良好的界面表現(xiàn)力,其不僅受到了業(yè)內(nèi)的青睞和大力追捧,更展現(xiàn)了廣闊的應(yīng)用及商業(yè)前景。

      1.AJAX關(guān)鍵技術(shù)分析

      1.1 JavaScript

      作為瀏覽器中使用頻率相當(dāng)高的一種編程語(yǔ)言,JavaScript可以確保客戶端網(wǎng)頁(yè)內(nèi)容的實(shí)時(shí)更新。而其在AJAX中主要充當(dāng)?shù)氖荴MLHttpRequest與DOM二者的樞紐,并借助于XMLHttpRequest屬性值對(duì)本地頁(yè)面DOM對(duì)象進(jìn)行動(dòng)態(tài)更新。

      1.2 XML

      XML,即所謂的可擴(kuò)展標(biāo)記語(yǔ)言,同HTML相似,XML也是一種應(yīng)用標(biāo)簽進(jìn)行標(biāo)記的語(yǔ)言,但用途較HTML而言具有較大的差異。HTML采用可直接閱讀式的格式對(duì)數(shù)據(jù)進(jìn)行顯示,而XML則用來(lái)對(duì)數(shù)據(jù)進(jìn)行描述、交換和存儲(chǔ)。

      1.3 XMLHttp

      XMLHttp是借助于HTTP在VbScript及Javascript等腳本語(yǔ)言中進(jìn)行XML或其他相關(guān)數(shù)據(jù)的接收或傳輸?shù)囊惶譇PI。XMLHttp主要作用即對(duì)網(wǎng)頁(yè)部分內(nèi)容進(jìn)行更新,但無(wú)需對(duì)整個(gè)頁(yè)面進(jìn)行刷新。如今,多數(shù)瀏覽器均能夠支持XMLHttp,在IE中利用ActiveXObject可以進(jìn)行XMLHttp對(duì)象的創(chuàng)建,諸如Opera、Firefox等的瀏覽器可以利用window.XMLHttpRequest進(jìn)行XMLHttp對(duì)象的創(chuàng)建。

      1.4 DOM

      DOM主要是供HTML及XML等文件使用的一套API。其能夠?qū)ξ募Y(jié)構(gòu)進(jìn)行表述,并在網(wǎng)頁(yè)和程序語(yǔ)言間構(gòu)建起一座溝通的橋梁。開發(fā)人員都是借助于對(duì)象對(duì)所構(gòu)建或可操作文件的屬性、事件或方法進(jìn)行展現(xiàn)的,例如,document代表的即文件自身這一對(duì)像,table則代表的是HTML表格對(duì)象等。此類對(duì)象能夠采用多數(shù)瀏覽器中的Script進(jìn)行取用,并達(dá)到顯示或動(dòng)態(tài)交互的目的。

      1.5 XMLHttpRequest

      作為AJAX所有技術(shù)中最為關(guān)鍵的技術(shù),XMLHTTPRequest為異步請(qǐng)求提供了支持,在后臺(tái)運(yùn)行過(guò)程中,XMLHttPRequest對(duì)象利用異步通訊將來(lái)自http服務(wù)器的數(shù)據(jù)進(jìn)行接收和獲取,無(wú)需將用戶的操作中斷,同時(shí),層面交互過(guò)程利用的是自動(dòng)和服器來(lái)實(shí)現(xiàn)的。

      2.軟件開發(fā)中AJAX的應(yīng)用分析

      較傳統(tǒng)CS開發(fā)而言,AJAX的開發(fā)過(guò)程存在著極大的差異,此類差異也帶來(lái)了新的編程方面的問(wèn)題,最重要的即易用性方面的問(wèn)題。由于AJAX對(duì)于XML及JavaScript具有較強(qiáng)的依賴性,因此,瀏覽器支持標(biāo)準(zhǔn)及其兼容性的重要性正如JavaScript的運(yùn)行性能一樣。此類問(wèn)題多數(shù)源自于技術(shù)、瀏覽器及服務(wù)器三者的組合,因此,必須確保此類技術(shù)的應(yīng)用效果。以下就某案例就AJAX在軟件開發(fā)中的應(yīng)用進(jìn)行分析。

      WebGIS中應(yīng)用AJAX時(shí)必須遵循Request/Response這一模式,此框架流程如下:對(duì)象的初始化→請(qǐng)求的發(fā)送→服務(wù)器的接收→服務(wù)器返回→客戶端的接收→客戶端頁(yè)面內(nèi)容的修改。

      1)首先是對(duì)象的初始化,并進(jìn)行XML-HttpRequest請(qǐng)求的發(fā)送。

      為了確保JavaScript能夠?qū)TTP請(qǐng)求發(fā)送至服務(wù)器端,應(yīng)采用的是XMLHttp-Request這一對(duì)象。不同瀏覽器對(duì)于此過(guò)程的實(shí)現(xiàn)途徑各不相同,IE采用ActiveX控件形式進(jìn)行提供,Mozilla等瀏覽器采用的是XMLHttpRequest形式。

      if(window.XMLHttpRequest){// Mozilla, Safari, ...

      http_request=new XMLHttp Request();

      }

      else if(window.ActiveXObject){//IE

      http_request=new ActiveXObject (\"Microsoft.XMLHTTP\");

      }

      2)對(duì)所需響應(yīng)處理函數(shù)進(jìn)行指定。

      對(duì)客戶端處理所返回服務(wù)器信息的方式進(jìn)行指定,其中,處理函數(shù)名可賦于XMLHttpRequest對(duì)象相應(yīng)的onreadystate change屬性。如http_request.onreadystatechange=processRequest。

      3)進(jìn)行HTTP請(qǐng)求的發(fā)送。待響應(yīng)處理函數(shù)指定完畢后,即可向服務(wù)器進(jìn)行HTTP請(qǐng)求的發(fā)送。此步驟采用的是相應(yīng)的open與send方法。

      http_request.open('GET','http://www.example.org/some.file',true);

      http_request.send(1);

      其中,open首個(gè)參數(shù)即為HTTP的請(qǐng)求方法,為Post、Get及Head等。open 第二個(gè)參數(shù)即目標(biāo)URL,第三個(gè)參數(shù)指定此請(qǐng)求是否為異步方式。若為True,則異步請(qǐng)求,F(xiàn)alse為同步,默認(rèn)為True。

      4)對(duì)服務(wù)器返回信息進(jìn)行處理。先對(duì)XML-HttpRequest對(duì)象的Readystate值進(jìn)行檢查,并對(duì)請(qǐng)求狀態(tài)進(jìn)行判斷。形式如下:

      if(http_request.readyState==4){

      //信息已返回,開始處理

      } else {

      // 信息還未返回,繼續(xù)等待

      }

      當(dāng)服務(wù)器將信息返回之后,仍需對(duì)所返回HTTP的狀態(tài)碼進(jìn)行判斷,明確所返回頁(yè)面是否存在錯(cuò)誤??稍赪3C官網(wǎng)上查詢到全部狀態(tài)碼。如下所示,200表示頁(yè)面是正常的。

      if (http_request.status = = 200) {

      // 頁(yè)面一切正常,可開始進(jìn)行信息的處理

      } else {

      // 頁(yè)面存在問(wèn)題

      對(duì)于返回成功的信息,XMLHttpRequest具有如下處理方式:一種是responseText以字符串形式進(jìn)行使用;

      另一種是responseXML以XML文檔形式進(jìn)行使用,可采用DOM進(jìn)行處理。

      由此可見,AJAX在軟件開發(fā)過(guò)程中具有十分重要的應(yīng)用,且隨著各項(xiàng)技術(shù)的不斷成熟,AJAX將在WebGIS平臺(tái)內(nèi)部發(fā)揮重要的作用。谷歌所推出的Google Maps中就采用了AJAX技術(shù),此外,雅虎公司Flash/AJAX也充分利用了AJAX技術(shù),以提高用戶的體驗(yàn)效果。

      3.結(jié)語(yǔ)

      AJAX技術(shù)將多項(xiàng)技術(shù)融于一體,充分發(fā)揮了各項(xiàng)技術(shù)的功能,并獲得了理想的效果,已成為用戶極為青睞的開發(fā)技術(shù)之一。隨著AJAX技術(shù)的不斷發(fā)展和完善,其在軟件開發(fā)領(lǐng)域必將引領(lǐng)新的潮流。

      參考文獻(xiàn)

      [1]向春,沈建新.AJAX核心技術(shù)解析[J].機(jī)械制造與自動(dòng)化,2011(2):48-52.

      [2]萬(wàn)建成,盧雷.軟件體系結(jié)構(gòu)的原理、組成與應(yīng)用[M].北京:科學(xué)出版社,2009.

      [3]張振國(guó),楊柯.基于J2EE的通信工程管理信息系統(tǒng)[J].計(jì)算機(jī)工程與科學(xué),2008,30(8):147-149.

      新密市| 新河县| 依安县| 边坝县| 元阳县| 靖江市| 洛隆县| 鹤峰县| 军事| 浦城县| 镇坪县| 平阳县| 丹棱县| 河北区| 自治县| 东港市| 滨州市| 惠水县| 石景山区| 天长市| 都江堰市| 西青区| 江津市| 淮北市| 汝阳县| 广灵县| 常州市| 诸城市| 廉江市| 永德县| 施秉县| 藁城市| 屯昌县| 石棉县| 南昌县| 公主岭市| 无棣县| 会理县| 广州市| 海原县| 麻栗坡县|