国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Ajax技術(shù)和原理分析

2017-09-29 14:33:19黃欣彬張婭
科學(xué)家 2016年13期
關(guān)鍵詞:瀏覽器應(yīng)用程序頁面

黃欣彬 張婭

摘要 運(yùn)用Ajax技術(shù)可以大大改變Web應(yīng)用程序的開發(fā)方式,實(shí)現(xiàn)無需刷新頁面就能實(shí)現(xiàn)頁面更新。本文主要分析Ajax的原理,是Ajax的核心對(duì)象,以及運(yùn)用Ajax技術(shù)的優(yōu)點(diǎn)及缺陷。

關(guān)鍵詞 Ajax 原理;XmlHttpRequest對(duì)象;Ajax優(yōu)勢

中圖分類號(hào) TP3 文獻(xiàn)標(biāo)識(shí)碼 A 文章編號(hào) 2095—6363(2016)13—0045—01

Ajax不是新研究開發(fā)的一種技術(shù),是一種使用現(xiàn)有標(biāo)準(zhǔn)的新方法,主要是多種原有技術(shù)結(jié)合在一起而形成的一種技術(shù)。主要通過使用CSS和XHTML來實(shí)現(xiàn)表示,實(shí)現(xiàn)交互和動(dòng)態(tài)顯示通過DOM模型來完成,通過XMLHttpRequest來實(shí)現(xiàn)與服務(wù)器進(jìn)行異步通信,并且通過JavaScript來完成相關(guān)綁定和調(diào)用。除XmlHttpRequest對(duì)象外,其他技術(shù)在網(wǎng)絡(luò)方面都得到很廣泛的運(yùn)用。

XMLHttpRequest雖然目前還沒有被W3C所采納,但是它已經(jīng)是一個(gè)事實(shí)的標(biāo)準(zhǔn),因?yàn)槟壳皫缀跛械闹髁鳛g覽器都支持它。

1 Ajax核心原理

Ajax的核心原理主要是運(yùn)用XmlHttpRequest對(duì)象向服務(wù)器發(fā)出異步請求,從而完成獲取服務(wù)器的數(shù)據(jù)操作,基于JavaScript技術(shù)來操作DOM實(shí)現(xiàn)頁面的更新,即無需加載整個(gè)網(wǎng)頁內(nèi)容的情況下實(shí)現(xiàn)網(wǎng)頁的差異更新。其關(guān)鍵步驟是請求數(shù)據(jù)如何從服務(wù)器獲得,主要通過XMLHttpRequest對(duì)象來實(shí)現(xiàn)。同時(shí)Ajax的遵守原則“按需取數(shù)據(jù)”,可以最大程度地減少“冗余請求”,降低服務(wù)器響應(yīng)的負(fù)荷。

2 XmlHttpRequest對(duì)象

AIjax的核心機(jī)制是XMLHttpRequest對(duì)象,最先在IE5中使用,能夠完成異步請求的一種技術(shù),即通過JavaScript快速向服務(wù)器發(fā)起請求和處理響應(yīng),并且不會(huì)阻塞用戶,實(shí)現(xiàn)無刷新的效果。XMLHttpRequest這個(gè)對(duì)象的屬性。

onreadystatechange所觸發(fā)事件的處理程序所表現(xiàn)的狀態(tài);

responseText實(shí)現(xiàn)數(shù)據(jù)的字符串從服務(wù)器進(jìn)程返回串形式;

responseXML從服務(wù)器進(jìn)程返回的DOM兼容的文檔數(shù)據(jù)對(duì)象;

status從服務(wù)器返回的數(shù)字代碼,200(已就緒)和404(未找到);

status Text伴隨狀態(tài)碼的字符串信息;

readyState狀態(tài)值(0,1,2,3,4)。

3 Ajax技術(shù)的優(yōu)勢

運(yùn)用Ajax技術(shù)到Web中都會(huì)感覺該技術(shù)所帶來的優(yōu)點(diǎn)。

1)使用Ajax會(huì)開發(fā)出動(dòng)態(tài)性非常強(qiáng)的Web界面,在一些運(yùn)用Ajax技術(shù)的瀏覽器的搜索框輸入關(guān)鍵字時(shí),服務(wù)器將快速接收到這些字符,服務(wù)器將快速返回一個(gè)搜索建議的列表。

2)頁面不需全部加載刷新,快速完成服務(wù)器與頁面內(nèi)的通信,給用戶的體驗(yàn)非常好。頁面與服務(wù)器采用異步方式,防止打斷用戶的操作,從而其響應(yīng)能力更加快速的完成。

3)利用客戶端的閑置能力分擔(dān)服務(wù)器承載的一部分工作,從而降低服務(wù)器的負(fù)荷,同時(shí)也減少帶寬的負(fù)擔(dān),節(jié)約公共資源,降低成本。

4)運(yùn)用JavaScript的難度得到簡化。獨(dú)特JavaScript的靈活語法以及其物件觀念,讓其能夠更好深入使用文件物件模型(DOM)與CSS的強(qiáng)大操控能力,以便更好應(yīng)用瀏覽器XMLHttpRequest物件,簡化JavaScript的便用難度,更好地使開發(fā)人員專注在開發(fā)工作上。

5)瀏覽器的相容性問題得到一定的解決。對(duì)文件的解析與語法的支援在不同瀏覽器結(jié)果是有一定的差異,在瀏覽器不同版本上有時(shí)也會(huì)表現(xiàn)出不同的行為,從而讓JavaScript應(yīng)用程序出現(xiàn)一定的瓶頸,而采用Ajax框架能提前解放設(shè)計(jì)人員對(duì)瀏覽器相容性的問題。

4 Ajax技術(shù)的缺點(diǎn)

大家平時(shí)使用一種技術(shù)更多的注意其優(yōu)點(diǎn),但也不能忽視其所帶來的缺陷。而Ajax技術(shù)也有自身的缺陷。

1)程序異常處理機(jī)制的缺陷。Ajax框架本身會(huì)直接造成程序的異常機(jī)制遭到破壞,若采用Ajax和傳統(tǒng)的form提交的模式來刪除一條數(shù)據(jù),給代碼的編寫和調(diào)試帶來許多困難。

2)Ajax技術(shù)中沒后退功能,這主要是和JavaScript無法實(shí)現(xiàn)很好的結(jié)合。這就與IE后退功能相違背,而后退功能是Web站點(diǎn)的標(biāo)配功能。這也是Ajax技術(shù)自身存在的重要缺陷,但可通過較笨的辦法解決,即在Gmail中運(yùn)用Ajax技術(shù)解決沒有后退功能,但沒有改變Ajax技術(shù)的退出機(jī)制。在Gmail中運(yùn)用AjaX技術(shù),瀏覽者可單擊IE后退按鈕查看歷史記錄時(shí),通過創(chuàng)建或使用一個(gè)隱藏的IFRAME來完成頁面上的差異變更,即單擊后退時(shí),在隱藏的IFRAME中實(shí)現(xiàn)搜索,并且在Ajax元素中反映出搜索結(jié)果,以便將應(yīng)用程序狀態(tài)恢復(fù)到當(dāng)時(shí)的狀態(tài),但是它所帶來的開發(fā)成本是非常高的,和Ajax技術(shù)所要求的快速開發(fā)是相背離的。這是Ajax所帶來的一個(gè)非常嚴(yán)重的問題。

3)安全因素。一項(xiàng)技術(shù)的運(yùn)用也給IT企業(yè)直接或間接產(chǎn)生了新的安全威脅,而通過Ajax技術(shù)建立一條通往企業(yè)數(shù)據(jù)的直接通道,這就會(huì)造成更多的數(shù)據(jù)和服務(wù)器邏輯會(huì)在不經(jīng)意間比以前暴露得更多。同時(shí)Ajax技術(shù)的邏輯會(huì)隱藏對(duì)客戶端的安全掃描技術(shù),將給黑客從遠(yuǎn)端服務(wù)器上建立新的攻擊提供了新的機(jī)會(huì)。同時(shí)Ajax也存在基于credentials的安全漏洞、跨站點(diǎn)腳步攻擊和等SOL注入攻擊。

4)Ajax沒有遵循資源定位和url的機(jī)制,手持設(shè)備(如手機(jī)、Pad等)不能非常靈活的支持Ajax技術(shù),在手持設(shè)備的瀏覽器上打開運(yùn)用Ajax技術(shù)設(shè)計(jì)的網(wǎng)站時(shí),現(xiàn)在還不能很好的支持,需要有待的完善和改進(jìn)。

5結(jié)論

Ajax不是一種萬能的技術(shù),它有適合自身應(yīng)用的場合,并與現(xiàn)有的動(dòng)態(tài)頁面技術(shù)互補(bǔ)融合,在未來的軟件技術(shù)發(fā)展中,相信Ajax將擔(dān)負(fù)起更多的用途,在Web應(yīng)用中發(fā)揮重要的作用。endprint

猜你喜歡
瀏覽器應(yīng)用程序頁面
大狗熊在睡覺
刷新生活的頁面
刪除Win10中自帶的應(yīng)用程序
反瀏覽器指紋追蹤
電子制作(2019年10期)2019-06-17 11:45:14
環(huán)球?yàn)g覽器
再見,那些年我們嘲笑過的IE瀏覽器
關(guān)閉應(yīng)用程序更新提醒
電腦迷(2012年15期)2012-04-29 17:09:47
同一Word文檔 縱橫頁面并存
淺析ASP.NET頁面導(dǎo)航技術(shù)
三星電子將開設(shè)應(yīng)用程序下載商店
奉节县| 奇台县| 同仁县| 依兰县| 四子王旗| 卓尼县| 资中县| 苏州市| 乃东县| 泰安市| 泊头市| 铁岭市| 临澧县| 阳城县| 鹤壁市| 定边县| 松潘县| 盐源县| 金乡县| 遂昌县| 淳安县| 集安市| 朝阳区| 克拉玛依市| 临洮县| 六盘水市| 南岸区| 永安市| 广南县| 长垣县| 巧家县| 满洲里市| 巴塘县| 泾川县| 乐清市| 内乡县| 盐源县| 游戏| 邯郸县| 本溪市| 手机|