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