優(yōu)惠活動(dòng) - 12周年慶本月新客福利
優(yōu)惠活動(dòng) - 12周年慶本月新客福利
優(yōu)惠活動(dòng) - 12周年慶本月新客福利

行業(yè)動(dòng)態(tài)AJAX技術(shù)讓W(xué)eb信息系統(tǒng)的頁(yè)面更輕便


傳統(tǒng)網(wǎng)頁(yè)開發(fā)用戶與服務(wù)器進(jìn)行交互是先讓用戶在form表單中輸入數(shù)據(jù), 然后向網(wǎng)頁(yè)服務(wù)器提交表單并發(fā)出一個(gè)交互請(qǐng)求, 此交互請(qǐng)求可能是數(shù)據(jù)查詢、數(shù)據(jù)更新等操作。當(dāng)服務(wù)器收到用戶從客戶端發(fā)送過來(lái)的處理請(qǐng)求后, 將會(huì)做出相關(guān)處理后給用戶客戶端返回一個(gè)新的站點(diǎn)頁(yè)面。這樣做法會(huì)浪費(fèi)很多帶寬, 因?yàn)樵谇昂髢蓚€(gè)站點(diǎn)頁(yè)面中的絕大部分HTML代碼都是完全相同。因?yàn)槊看斡脩粼诳蛻舳伺c服務(wù)器的交互都需要向服務(wù)器發(fā)送請(qǐng)求, 用戶請(qǐng)求的響應(yīng)時(shí)間不但依賴于服務(wù)器的響應(yīng)快慢、還依賴于網(wǎng)絡(luò)帶寬等因素。采用傳統(tǒng)技術(shù)讓網(wǎng)頁(yè)與服務(wù)器進(jìn)行交互有如下幾個(gè)缺點(diǎn)。
1) 浪費(fèi)帶寬。本來(lái)網(wǎng)頁(yè)中只需要一部分內(nèi)容、部分頁(yè)面需要與服務(wù)器交互, 局部更新。但是傳統(tǒng)做法需要整個(gè)頁(yè)面刷新, 從服務(wù)器重新下載返回一個(gè)新的頁(yè)面, 相當(dāng)于把整個(gè)頁(yè)面重新從服務(wù)器傳輸一次給客戶端;而第2次傳輸?shù)膬?nèi)容大部分都與第1次的相同, 只是很小的部分有改動(dòng)。單純通過傳統(tǒng)表單方式與服務(wù)器進(jìn)行交互會(huì)浪費(fèi)有限網(wǎng)絡(luò)帶寬與流量。
2) 交互響應(yīng)速度慢。隨著信息化發(fā)展、多媒體技術(shù)的推廣, 很多網(wǎng)頁(yè)都是圖文并茂, 內(nèi)容豐富, 一個(gè)頁(yè)面也不小;當(dāng)網(wǎng)絡(luò)速度相當(dāng)固定時(shí), 重新返回整個(gè)圖文并茂的頁(yè)面比只返回網(wǎng)頁(yè)中內(nèi)容發(fā)生了改變的一部分頁(yè)面速度會(huì)慢很多;并且每次用戶與服務(wù)器進(jìn)行交互時(shí)都需要向服務(wù)器發(fā)送請(qǐng)求, 應(yīng)用的響應(yīng)時(shí)間還依賴于服務(wù)器的響應(yīng)時(shí)間。
3) 用戶體驗(yàn)效果差。特別是執(zhí)行數(shù)據(jù)查詢動(dòng)作時(shí), 在網(wǎng)頁(yè)頁(yè)面中發(fā)生改變的可能是把數(shù)據(jù)查詢的結(jié)果顯示出來(lái), 但傳統(tǒng)通過表單提交查詢請(qǐng)求, 然后返回一個(gè)新的頁(yè)面的話, 整個(gè)頁(yè)面會(huì)產(chǎn)生抖動(dòng)感, 用戶體驗(yàn)性差。
2 AJAX技術(shù)在Web頁(yè)面制作中的優(yōu)點(diǎn)
AJAX是英文字母“Asynchronous Java Script”和“XML”縮寫, 直譯是“異步Java Script”和“XML”。AJAX技術(shù)一種比較新穎、成熟、實(shí)用的技術(shù), 也是一種創(chuàng)建快速交互式網(wǎng)頁(yè)應(yīng)用的網(wǎng)頁(yè)開發(fā)技術(shù)。AJAX技術(shù)是通過在后臺(tái)與服務(wù)器進(jìn)行少量數(shù)據(jù)交換實(shí)現(xiàn)用戶在客戶端與服務(wù)器交互的需要。
1) AJAX是一種用于創(chuàng)建快速動(dòng)態(tài)網(wǎng)頁(yè)的技術(shù)。傳統(tǒng)的網(wǎng)頁(yè)如果不使用AJAX技術(shù)進(jìn)行更新內(nèi)容, 必須重載整個(gè)網(wǎng)頁(yè)面;而采用AJAX技術(shù)與服務(wù)器交互只需向服務(wù)器發(fā)送請(qǐng)求并取回必需的那部分?jǐn)?shù)據(jù)。它通過借助SOAP或基于XML的web service應(yīng)用接口, 并在客戶端結(jié)合Java Script技術(shù)以處理從服務(wù)器返回的響應(yīng);所以在服務(wù)器與客戶端瀏覽器之間交換的數(shù)據(jù)大大減少, 不像傳統(tǒng)技術(shù)那樣需要重新把頁(yè)面?zhèn)鬏斠淮? 所以用戶在客戶端瀏覽器就能更快地看到系統(tǒng)的響應(yīng)。
2) 異步傳輸模式。AJAX使用異步方式與服務(wù)器通信, 即用戶不需要打斷在客戶端的操作, 即可實(shí)現(xiàn)與服務(wù)器交互、數(shù)據(jù)傳遞等操作, 具有更加快速的響應(yīng)能力。
3) 可以減輕服務(wù)器負(fù)擔(dān)。AJAX可以把之前一部分需要在服務(wù)器上執(zhí)行的操作代碼轉(zhuǎn)移到客戶端執(zhí)行, 利用客戶端電腦閑置的資源來(lái)處理, 起到減輕服務(wù)器負(fù)擔(dān)并且節(jié)約網(wǎng)絡(luò)傳輸帶寬的作用;從而減輕Web服務(wù)器的負(fù)擔(dān), AJAX技術(shù)與服務(wù)器交互的原則是“按需取數(shù)”, 可以大大減少冗余請(qǐng)求, 從而提供服務(wù)器響應(yīng)速度。
4) 用戶體驗(yàn)效果好。采用AJAX的最大優(yōu)點(diǎn), 是能在不刷新、也不更新整個(gè)頁(yè)面的前提下維護(hù)局部數(shù)據(jù), 完成用戶與服務(wù)器交互過程。這使得Web應(yīng)用程序能更快捷地對(duì)用戶請(qǐng)求做出相應(yīng)的響應(yīng)動(dòng)作, 同時(shí)減少了在網(wǎng)絡(luò)上傳輸那些沒有改變過的數(shù)據(jù), 節(jié)約了網(wǎng)絡(luò)帶寬。有了AJAX這種技術(shù), 當(dāng)用戶在客戶端需要與服務(wù)器進(jìn)行交換時(shí), AJAX可以快捷地執(zhí)行服務(wù)器操作, 并悄悄地返回執(zhí)行操作結(jié)果, 然后把執(zhí)行結(jié)果顯示在網(wǎng)頁(yè)中, 整個(gè)網(wǎng)頁(yè)不會(huì)有抖動(dòng)感。
5) Web應(yīng)用開發(fā)更容易。有了AJAX為Web應(yīng)用程序開發(fā)注入了新的魅力、新的活力, Web應(yīng)用開發(fā)效率更加高。比如要開發(fā)一個(gè)類似QQ聊天工具的Web應(yīng)用程序, 不需要安裝額外應(yīng)用程序, 直接在IE瀏覽器上執(zhí)行, 只依靠傳統(tǒng)表單form、JS、CSS技術(shù)是比較難實(shí)現(xiàn), 而且開發(fā)效率很低。有了AJAX之后, 比如檢測(cè)用戶有沒有新加的好友、有沒有新的信息、好友查找等功能實(shí)現(xiàn)起來(lái)很簡(jiǎn)單, 而且開發(fā)出來(lái)類似Web應(yīng)用程序用戶體驗(yàn)性很好。
3 使用AJAX技術(shù)讓W(xué)eb頁(yè)面更輕便、更精致、用戶體驗(yàn)效果更好
利用AJAX頁(yè)面不刷新技術(shù)與異步傳輸模式, 可以開發(fā)出高效的、交互的、似桌面應(yīng)用軟件的Web應(yīng)用程序, 隨著JS語(yǔ)言以及應(yīng)用開發(fā)框架技術(shù)成熟, AJAX技術(shù)將在Web應(yīng)用開發(fā)發(fā)揮越來(lái)越重要的角色, 讓程序設(shè)計(jì)者能開發(fā)出更加輕便、更高品質(zhì)、更高技術(shù)含量的Web應(yīng)用系統(tǒng)。
1) AJAX解決問題的原理。AJAX通過與開發(fā)語(yǔ)言 (如ASP.NET、PHP、JSP) 結(jié)合起來(lái), 并嵌入Web頁(yè)面中, 實(shí)現(xiàn)Web頁(yè)面的局部更新功能, 把整個(gè)頁(yè)面中部分需要與服務(wù)器交換的功能代碼放置在AJAX代碼中, 避免傳統(tǒng)才用表單form方法把整個(gè)頁(yè)面提交到服務(wù)器, 然后把整個(gè)頁(yè)面重新加載, 實(shí)現(xiàn)節(jié)省帶寬、網(wǎng)絡(luò)資源。
2) 使用ASP.NET進(jìn)行開發(fā)電子商務(wù)實(shí)訓(xùn)系統(tǒng), 廣泛采用了AJAX技術(shù)處理用戶與系統(tǒng)的交換, 比如商城用戶注冊(cè)時(shí)需要用戶進(jìn)行手機(jī)驗(yàn)證, 筆者將用戶從服務(wù)器獲取“手機(jī)驗(yàn)證代碼”請(qǐng)求編寫成AJAX, 在用戶點(diǎn)擊按鈕“獲取短信驗(yàn)證碼”后, 頁(yè)面將會(huì)靜悄悄地通過AJAX與后臺(tái)服務(wù)器進(jìn)行交互, 生成6位數(shù)字的手機(jī)驗(yàn)證以短信形式發(fā)送到用戶手機(jī)上, 整個(gè)過程中用戶不需要進(jìn)行頁(yè)面跳轉(zhuǎn)、不需要頁(yè)面刷新、也不需要表單提交就在手機(jī)上收到了“手機(jī)短信驗(yàn)證碼”。
3) 在開發(fā)商城用戶注冊(cè)過程頁(yè)面中, 手機(jī)驗(yàn)證通過AJAX技術(shù)讓頁(yè)面從服務(wù)器ASP.NET動(dòng)態(tài)腳本以實(shí)現(xiàn)獲取;本頁(yè)面中當(dāng)用戶輸入手機(jī)號(hào)碼完畢后頁(yè)面則馬上通過Java Script (簡(jiǎn)稱JS) 觸發(fā)AJAX, 將發(fā)送http請(qǐng)求到服務(wù)器驗(yàn)證輸入的手機(jī)號(hào)碼是否被使用過, 服務(wù)器收到請(qǐng)求后調(diào)用ASP.NET動(dòng)態(tài)腳本到數(shù)據(jù)庫(kù)中查找此手機(jī)號(hào)碼是否被注冊(cè)過, 把處理結(jié)果以響應(yīng)形式返回給客戶端, 若被使用發(fā)出警告提醒用戶輸入別的手機(jī)號(hào)碼。
4)  AJAX能讓用戶與服務(wù)器進(jìn)行交互時(shí)頁(yè)面顯得很輕便。AJAX能在不更新整個(gè)頁(yè)面的情況, 與服務(wù)器進(jìn)行數(shù)據(jù)交換, 比如在修改商城系統(tǒng)用戶密碼時(shí), 采用傳統(tǒng)技術(shù)提交修改用戶密碼頁(yè)面時(shí), 用監(jiān)測(cè)工具可測(cè)出加載整個(gè)頁(yè)面的流量大概需要5KB, 但用AJAX技術(shù), 只要傳輸密碼文本給服務(wù)器, 不需要傳輸頁(yè)面圖片、表單、表格等頁(yè)面數(shù)據(jù), 僅需要0.3KB流量就能快速地完成與遠(yuǎn)端服務(wù)器的交互, 實(shí)現(xiàn)客戶端與服務(wù)器實(shí)現(xiàn)精準(zhǔn)交互。AJAX讓用戶在客戶端與服務(wù)器交互效率提高、服務(wù)器反饋及時(shí)、用戶體驗(yàn)效果更好。
本文地址:http://m.hbbqcd.cn//article/5783.html
相關(guān)文章:
最新文章: