[摘要]Ajax技術為WEB開發人員提供了一種新的開發模式,它改變了傳統的基于請求或應答的應用模式,加入了異步通信的概念,實現了無重載的頁面刷新,極大的改善了用戶體驗。本文首先闡述了Ajax技術的工作原理,然后從應用和局限性兩個方面給出了該技術對電子商務的影響。
[關鍵詞]ajax電子商務用戶體驗局限性
Ajax是異步JavaScript和XML的縮寫(Asynchronous JavaScript and XML),包括XHTML、CSS、DOM、XML、XSLT 、XMLHTTPREQUEST和JavaScript等技術,其中核心技術是JavaScript、XMLHTTPREQUEST和XML。自2005年提出以來,在業界得到了廣泛關注,并由于其豐富的功能、交互性以及快速的響應能力在WEB應用程序的開發中獲得越來越多的應用,對于電子商務的影響也日漸重要。
一、Ajax工作原理
和傳統的基于請求或應答的web應用相比,Ajax應用在用戶端和服務器之間增加了一個中間層,稱為Ajax引擎,它存在于用戶本地瀏覽器中。用戶發起的請求并不直接發送到服務器端,而是由Ajax引擎接收,然后異步的發送到遠程的服務器去請求數據,服務器的響應數據返回后也是經Ajax引擎處理才顯示在用戶界面上。對于用戶而言,它只是與位于本地的Ajax引擎通信,就像桌面程序一樣,所以它發出HTTP請求后,不必像傳統的web應用那樣等待服務器的響應數據來刷新頁面,而是可以繼續通過頁面和服務器進行其他交互,Ajax引擎會自動在適當的時候向服務器請求數據并把返回的數據顯示在用戶端。另外,傳統的web應用是基于整個頁面的刷新,而Ajax應用只傳輸和更新需要的數據,而不用刷新整個頁面,也就是通過網絡傳輸的不是整個頁面,而是用戶真正需要的數據,這樣的工作模型不僅加快了用戶請求的響應速度,還避免了刷新頁面帶來的屏幕閃爍,其結果是使web應用產生了類似桌面應用的用戶體驗。下圖顯示了基于Ajax的WEB應用的工作原理。
Ajax技術的關鍵是Ajax引擎,它主要是通過一個稱為XMLHTTPREQUEST(針對IE瀏覽器稱為XMLHTTP)的對象來實現的,由這個對象來接受用戶請求,然后異步發送給服務器,最后調用注冊在該對象上的回調函數來處理服務器返回的文檔,從而實現頁面的更新。
二、Ajax技術在電子商務中的應用
Ajax技術最大的好處就是能改善用戶的上網體驗,這對于依賴于“眼球經濟”的電子商務來說具有很大的吸引力,從事電子商務活動的企業都希望自己的門戶網站具有獨特的魅力,能夠吸引和留住更多的顧客;其次使用Ajax技術可以在一定程度上減少網絡帶寬,提高網站的利用率,相對于刷新頁面的方式,采用Ajax技術節省的帶寬比可用下面的公式計算:
(交互次數(刷新頁交互流量 - AJAX頁交互流量) - AJAX頁首次加載增加量)/ (刷新頁頁面大小×交互次數 + 首次加載頁面大小)
從這個公式可以看出,交互次數越多,節省的帶寬越大,實際應用中,節省的帶寬可達10%~60%。另外采用Ajax技術的網站還可以減輕服務器端的負荷,降低用戶的訪問等待時間。因此,Ajax技術在建設電子商務網站中可以發揮很大的作用,具體的講,Ajax技術可在以下方面進行應用:
1.用戶注冊或數據驗證類應用
現在,很多電子商務網站實行的會員制,用戶使用網站前必須先注冊。注冊中最重要是要填寫登錄名,該登錄名在網站數據庫內必須是惟一的,因此每個新注冊的用戶注冊成功之前都需要先查詢一下數據庫,如果有重復就需要用戶重新填寫。傳統的做法是在用戶填寫完注冊數據后,提交該頁面,該頁面通過腳本程序同后臺的數據庫交互,提交的結果是一個新頁面,要么顯示提交成功,要么出現重名要求重新填寫。在這個過程中,整個注冊頁面通過網絡傳送到服務器端,如果注冊項目很多,失敗的注冊將引起用戶較長時間來等待頁面刷新,作為一種改進方法,可以將填寫登錄名的頁面同其它注冊項頁面分開來提交,但在注冊中提交多個頁面對用戶來說并不是一個好的體驗。采用Ajax技術可以很好的解決這個問題。用戶填寫好登錄名后,一旦輸入文本框失去焦點,該事件的處理函數就會通過Ajax調用來檢查用戶填寫的登錄名是否存在重復,而且這個調用是異步的,用戶可以繼續填寫其它的注冊項,服務器端經過查詢數據庫后返回的消息(如“該用戶已存在”)將顯示在注冊頁面的適當位置,提醒用戶是否需要重新填寫登錄名。在這個過程中,網絡上傳輸的不是整個頁面而是少量的文本片段,如用戶填寫的登錄名和服務器端返回的消息等,因而響應速度很快,這當然會給用戶帶來相當好的感受。事實上對用戶輸入數據進行數據庫驗證這類應用在電子商務應用中很常見,比如在注冊網絡銀行時,對用戶輸入的金融卡卡號的有效性驗證就可以采用同樣的機制。
2.商品展示
電子商務網站需要展示待交易商品的各項信息,一般可以通過文字、圖片、視頻等來表現。Ajax技術在這方面有很多的應用,具有自己獨特的魅力,比如對于商品的分類顯示可以采用基于Ajax的動態樹型結構,這種結構在進行顯示、展開、添加、修改和刪除等操作時,不會引起頁面重載,而且只在需要時才去請求數據庫,進行數據加載,不僅速度很快,也大大減少了服務器端的負擔。又如在商品圖片的處理上,可以實現類似“google earth”中的效果,如通過鼠標的滾動鍵實現圖片的放大縮小,用鼠標拖動圖片旋轉,從而多視角展示商品。融入了Ajax技術的商品展示,會給用戶留下深刻的印象,起到提升網站的人氣和用戶忠誠度的作用。
3.交互過程
現在的電子商務網站提倡個性化,十分注意滿足用戶的需求,因此也非常關注同用戶的交互過程。Ajax在這方面也可以體現價值。首先是購物車,用戶在購物過程中購物車是實現交易過程的關鍵,基于Ajax的購物車相對傳統的購物車可以更快獲得服務器端的響應,這會帶來一些好處,比如用戶的訂購數超過庫存的錯誤消息不用等到用戶提交頁面才知道。其次是用戶的意見反饋,通常是采用留言簿或討論區的方式,可以利用Ajax技術設計出反應異常靈敏的客戶留言簿或討論區,對于傳統留言簿,刷新時是對整個留言頁面進行更新,當留言很多時,頁面刷新相當費時間,刷新前也不能看到別的用戶新寫的留言,而對于采用Ajax的留言簿,用戶完成留言后不用刷新立即可以看到自己的留言,同時也可以在第一時間看到其他人新添的留言,這當然會給用戶帶來良好的感受。
4.其他應用
事實上,Ajax技術可用于任何只需要局部更新網頁的場景,比如利用文本編輯框填寫或修改數據、調查或投票、電子郵件、聯機幫助文件等,都可以利用Ajax技術來改善用戶的體驗。
三、Ajax技術在電子商務中的局限性
盡管Ajax為傳統的Web應用帶來了革命性的變化,也為電子商務帶來諸多應用,但它并非無所不能,其具有的局限性一定程度的影響了它的發展。
1.對網上用戶行為分析技術的影響
用戶訪問電子商務網站時的各種行為會通過服務器的日志、Cookie等方式保存下來,然后企業利用數據挖掘等技術可以有效地分析從網上獲取的這些數據,發現隱藏在其后的規律性,提取出有效信息,進而指導企業調整營銷策略,采取精準營銷、推薦營銷等更為個性化的營銷手段,使企業處于更有利的競爭位置。由于直接挖掘服務器日志效率較低,現在大中型的網站基本采用cookie跟蹤,通過路徑分析等方式來進行數據挖掘,但對于采用了Ajax技術的網站,無需用戶多次載入網頁,用戶甚至可以在一個頁面上完成所有交互,這使得基于路徑分析法的數據挖掘將出現偏差,直接會影響企業的營銷策略。因此,必須對原有的分析技術和工具進行改進以適應Ajax帶來的挑戰,但目前這方面的進展比較緩慢。
2.對網絡廣告的影響
網絡廣告對電子商務網站具有重要意義,Ajax技術的應用對網絡廣告的投放模式、投放效果及發布將產生影響。在傳統方式下,用戶每次刷新頁面的時候就可以裝載一個新廣告,而對于采用了Ajax技術的web頁面,用戶更新頁面內容時不需要刷新整個頁面,也就不能裝載新的廣告,這就減少了網站能夠展示的廣告數量;如果網絡廣告按照點擊率或展示次數來計費的話,采用Ajax技術后網站的點擊率和展示次數都會發生顯著變化,從而影響廣告費用的計算;另外使用Ajax技術的網站,頁面刷新(即廣告裝載)的決定權更多交給了網頁開發者而不是廣告的投放者,這對于廣告投放者來說有時是不可接受的。如果Ajax發展的趨勢不可逆轉,那么網絡廣告業就必須認真的對待這些問題了。
3.對用戶上網習慣的影響
無重載刷新對習慣了請求或應答方式的用戶將是一個挑戰。許多用戶熟悉傳統的請求或應答的WEB調用方式,對基于Ajax的頁面更新方式會感到迷惑,比如用戶不太清楚現有頁面的數據是舊的還是已經更新過的。目前的解決辦法有:在相關位置進行更新進度提示,把數據更新的區域設計得比較明顯,數據更新后給用戶提示等。
四、結束語
Ajax的異步工作方式為我們帶來了一種全新的程序開發模式,它既不同于傳統的WEB開發,也有別于桌面應用程序的開發,實際上它具備了兩種開發模式的部分優點,從形式上看它是WEB應用,采用的B/S模式,但從效果上看,它又類似桌面應用,給用戶以完美體驗。Ajax對于電子商務的發展而言,機遇大于挑戰,將會有越來越多的企業把Ajax技術應用到其電子商務建設中去,從而為我們帶來更加絢麗多彩的網絡世界。
參考文獻:
[1]游麗貞郭字春李純喜:Ajax引擎的原理和應用[J]. 微計算機信息.2006,22(2)
[2]Brett Mclauqhlin. Mastering Ajax, Part 1: Introduction to Ajax[J].http://www.ibm.com/developerworks.2005,12
[3]Christopher L Merrill. Using AJAX to Improve the Bandwidth Performance of Web Applications[J].http://www.webperformanceinc.com/library/reports/AjaxBandwidth/index.html.2006
[4]王雁:http://www.marketingman.net/Blog/Kelvin/ajaxandmarketing.html.2006-12-20
本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。