當(dāng)前位置:首頁 > 消費(fèi)電子 > 消費(fèi)電子
[導(dǎo)讀]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)行了探討。

0 引言

AJAX采用異步調(diào)用方式進(jìn)行局部頁面的刷新,并以瀏覽器為基礎(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)高的一種編程語言,JavaScript可以確??蛻舳司W(wǎng)頁內(nèi)容的實(shí)時(shí)更新。而其在AJAX中主要充當(dāng)?shù)氖荴MLHttpRequest與DOM二者的樞紐,并借助于XMLHttpRequest屬性值對(duì)本地頁面DOM對(duì)象進(jìn)行動(dòng)態(tài)更新。

1.2 XML

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

1.3 XMLHttp

XMLHttp是借助于HTTP在VbScript及Javascript等腳本語言中進(jìn)行XML或其他相關(guān)數(shù)據(jù)的接收或傳輸?shù)囊惶譇PI.XMLHttp主要作用即對(duì)網(wǎng)頁部分內(nèi)容進(jìn)行更新,但無需對(duì)整個(gè)頁面進(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)頁和程序語言間構(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)行過程中,XMLHttPRequest對(duì)象利用異步通訊將來自http服務(wù)器的數(shù)據(jù)進(jìn)行接收和獲取,無需將用戶的操作中斷,同時(shí),層面交互過程利用的是自動(dòng)和服器來實(shí)現(xiàn)的。

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

較傳統(tǒng)CS開發(fā)而言,AJAX的開發(fā)過程存在著極大的差異,此類差異也帶來了新的編程方面的問題,最重要的即易用性方面的問題。由于AJAX對(duì)于XML及JavaScript具有較強(qiáng)的依賴性,因此,瀏覽器支持標(biāo)準(zhǔn)及其兼容性的重要性正如JavaScript的運(yù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ù)器返回→客戶端的接收→客戶端頁面內(nèi)容的修改。

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

為了確保JavaScript能夠?qū)TTP請(qǐng)求發(fā)送至服務(wù)器端,應(yīng)采用的是XMLHttp-Request這一對(duì)象。不同瀏覽器對(duì)于此過程的實(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)的onreadystatechange屬性。如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(null);其中,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)行判斷,明確所返回頁面是否存在錯(cuò)誤。可在W3C官網(wǎng)上查詢到全部狀態(tài)碼。如下所示,200表示頁面是正常的。

if (http_request.status = = 200)

{

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

處理

} else {

// 頁面存在問題

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

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

3.結(jié)語

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉