摘要: 本文首先介紹了AJAX技術(shù),然后分析了AJAX技術(shù)在電子商務(wù)網(wǎng)站的應(yīng)用,最后結(jié)合網(wǎng)上書店系統(tǒng),說明AJAX技術(shù)在系統(tǒng)中的具體實現(xiàn)。
關(guān)鍵詞: AJAX 電子商務(wù) 局部刷新 用戶體驗
一、AJAX技術(shù)概述
AJAX是Asynchronous JavaScript and XML的簡稱,它不是一項新的技術(shù),而是多種技術(shù)的綜合,或者是設(shè)計方式,包括JavaScript、XHTML和CSS、DOM、XML和XSTL、XMLHttpRequest等技術(shù)。
AJAX的主要功能在于,將瀏覽器客戶端和服務(wù)器端之間傳統(tǒng)的同步交互通信方式改變?yōu)楫惒酵ㄐ沤换シ绞剑瑥亩S富了瀏覽器客戶端功能,解決了瀏覽器頻繁刷新頁面等待數(shù)據(jù)傳輸?shù)膯栴},改善了Web應(yīng)用程序的用戶體驗。
AJAX的工作原理相當(dāng)于在用戶和服務(wù)器之間加了一個中間層,使用戶操作與服務(wù)器響應(yīng)異步化。并不是所有的用戶請求都提交給服務(wù)器,像一些數(shù)據(jù)驗證和數(shù)據(jù)處理等都交給AJAX引擎自己來做,只有確定需要從服務(wù)器讀取新數(shù)據(jù)時再由AJAX引擎代為向服務(wù)器提交請求。
二、AJAX技術(shù)在電子商務(wù)網(wǎng)站開發(fā)中的應(yīng)用
AJAX技術(shù)在建設(shè)電子商務(wù)網(wǎng)站中能發(fā)揮很大作用,具體有以下方面應(yīng)用:
1.用戶注冊或數(shù)據(jù)驗證類應(yīng)用
傳統(tǒng)的技術(shù)是在用戶填寫完注冊數(shù)據(jù)后,提交該頁面,該頁面通過腳本程序同后臺的數(shù)據(jù)庫交互,提交的結(jié)果是一個新頁面,要么顯示提交成功,要么出現(xiàn)重名要求重新填寫。如果注冊項目很多,失敗的注冊將引起用戶較長時間來等待頁面刷新。
采用AJAX技術(shù)可以很好地解決這個問題。用戶填寫好登錄名后,一旦輸入文本框失去焦點,該事件的處理函數(shù)就會通過AJAX調(diào)用來檢查用戶填寫的登錄名是否存在重復(fù),而且這個調(diào)用是異步的,用戶可以繼續(xù)填寫其它的注冊項,在這個過程中,網(wǎng)絡(luò)上傳輸?shù)牟皇钦麄€頁面,而是少量的文本片段,如用戶填寫的登錄名和服務(wù)器端返回的消息等,因而響應(yīng)速度很快。
2.商品展示
電子商務(wù)網(wǎng)站需要展示待交易商品的各項信息,一般可以通過文字、圖片、視頻等來表現(xiàn)。AJAX技術(shù)在這方面有很多的應(yīng)用,比如對于商品的分類顯示可以采用基于AJAX的動態(tài)樹型結(jié)構(gòu),這種結(jié)構(gòu)在進行顯示、展開、添加、修改和刪除等操作時,不會引起頁面重載,而且只在需要時才去請求數(shù)據(jù)庫,進行數(shù)據(jù)加載,不僅速度很快,而且大大減少了服務(wù)器端的負擔(dān)。
3.交互過程
現(xiàn)在的電子商務(wù)網(wǎng)站提倡個性化,十分注意滿足用戶的需求,因此也非常關(guān)注同用戶的交互過程。基于AJAX的購物車相對傳統(tǒng)的購物車系統(tǒng)可以更快獲得服務(wù)器端的響應(yīng),比如用戶的訂購數(shù)超過庫存的錯誤消息不用等到用戶提交頁面才知道。其次是用戶的意見反饋,通常是采用留言簿或討論區(qū)的方式,可以利用AJAX技術(shù)設(shè)計出反應(yīng)異常靈敏的客戶留言簿或討論區(qū)。對于傳統(tǒng)留言簿,刷新時是對整個留言頁面進行更新,當(dāng)留言很多時,頁面刷新相當(dāng)費時間,刷新前也不能看到別的用戶新寫的留言,而對于采用AJAX的留言簿,用戶完成留言后不用刷新立即可以看到自己的留言,同時也可以在第一時間看到其他人新添的留言,這當(dāng)然會給用戶帶來良好的感受。
4.智能數(shù)據(jù)聯(lián)動下拉框
我們經(jīng)常面臨這樣的需求,當(dāng)某一項改變的時候,其他項也跟著變動,并且有一對一的應(yīng)關(guān)系。比如在電子商務(wù)網(wǎng)站上查詢產(chǎn)品的頁面中,在產(chǎn)品類型下拉框中選擇了某一產(chǎn)品類型,則在產(chǎn)品名稱中要顯示出所有對應(yīng)該產(chǎn)品類型的產(chǎn)品名稱。當(dāng)然我們使用傳統(tǒng)的方法也可以實現(xiàn)這一功能,但是頁面閃爍頻繁,網(wǎng)頁重載率程度高;而在這個過程中使用AJAX,頁面被局部刷新,反應(yīng)迅速,通信量大大降低,相對兩種方法而言相同的訪問量后者速度比前者快得多。
5.無刷新自動更新實時數(shù)據(jù)
傳統(tǒng)上是使用定時器技術(shù)來自動刷新當(dāng)前網(wǎng)頁,以獲取最新數(shù)據(jù),但是當(dāng)整個網(wǎng)頁需要更改的數(shù)據(jù)不是很多,頁面的反復(fù)重載將會大大降低系統(tǒng)的效率。因此我們引入AJAX的局部刷新功能,當(dāng)然我們這里強調(diào)的是局部刷新,如果是整個頁面的數(shù)據(jù)幾乎都要改變的話,建議還是用定時器進行定時刷新,因為如果這時候還一味地使用AJAX的話,將會大大增加系統(tǒng)的復(fù)雜度,這樣就有可能適得其反。在這里同樣還是利用XMLHTTP的異步調(diào)用,向服務(wù)器發(fā)出請求并取得數(shù)據(jù),傳到客戶端,客戶端重新組織并顯示數(shù)據(jù),實現(xiàn)網(wǎng)頁無刷新動態(tài)獲取數(shù)據(jù)。
三、AJAX在網(wǎng)上書店系統(tǒng)中的具體實現(xiàn)
1.項目背景
通過基于AJAX的網(wǎng)上書店系統(tǒng)的研究與實現(xiàn),探討了電子商務(wù)系統(tǒng)非功能性需求的可用性、可擴展性和可維護性及改進方案。通過分析傳統(tǒng)的商務(wù)系統(tǒng)請求/響應(yīng)方式所帶來的用戶交互可用性的不足,提出了應(yīng)用AJAX異步請求訪問技術(shù),提高系統(tǒng)的可用性;應(yīng)用MVC模式的分層設(shè)計方法優(yōu)化客戶端代碼;結(jié)合用戶訪問控制策略及XML技術(shù),快速實現(xiàn)用戶需求變更而帶來的系統(tǒng)擴展性需求,使得代碼修改程度控制在最小范圍;采用Java語言的強大異常處理機制和完善的日志記錄功能,進一步保證了系統(tǒng)的可靠性與安全性。
2.需求分析
圖書超市在國際互聯(lián)網(wǎng)上可以實現(xiàn)的商務(wù)功能已經(jīng)多樣化,從最基本的對外溝通展示功能、信息發(fā)布功能、在線圖書展示功能,到在線洽談功能、在線交易功能、在線采購功能、在線客戶服務(wù)功能、在線網(wǎng)站管理功能等等。
3.AJAX技術(shù)在系統(tǒng)中的應(yīng)用
用戶單擊“注冊”按鈕即可以進入到用戶注冊頁面,這里需要驗證幾個內(nèi)容,包括用戶名是否已存在,E-mail是否已被人使用,驗證碼是否正確,傳統(tǒng)方式是使用客戶端JavaScript做初步驗證,用戶提交表單后在服務(wù)器端做進一步驗證。如果用戶輸入的內(nèi)容有錯誤,會返回注冊頁面,提示用戶修改。使用AJAX技術(shù)后,原來必須提交到服務(wù)器才能驗證的內(nèi)容可以在不刷新頁面情況下直接驗證。
在用戶輸入用戶名或E-mail之后,使用XMLHttpRequest對象將用戶輸入的信息發(fā)送給服務(wù)器,服務(wù)器判斷是否存在同名用戶或者E-mail地址,驗證完畢后將信息反饋給客戶端,由客戶端顯示驗證結(jié)果。這樣用戶在未提交整個表單前就可以知道輸入的用戶名或E-mail是否可以使用。
四、結(jié)語
AJAX的異步工作方式帶來了一種全新的程序開發(fā)模式,它既不同于傳統(tǒng)的Web開發(fā),也有別于桌面應(yīng)用程序的開發(fā),實際上它具備了兩種開發(fā)模式的優(yōu)點,從形式上看它是Web應(yīng)用,但從效果上看,它又類似桌面應(yīng)用,給用戶以完美體驗。電子商務(wù)對AJAX技術(shù)的利用,必將有利于把主動性、人性化的服務(wù)做到實處,向用戶提供更方便、更及時的服務(wù),更好地發(fā)揮電子商務(wù)的優(yōu)勢。
參考文獻:
[1]王嘉編著.AJAX經(jīng)典案例開發(fā)大全,2007,(6).
[2]鄭波濤編著.基于網(wǎng)上零售電子商務(wù)網(wǎng)站的規(guī)劃與設(shè)計,2005,(6).