影音先锋男人资源av站_狠狠色综合激情丁香五月_爱爱爱爱看视频_在线播放免费人成视频在线观看_少妇人妻综合久久中文字幕_国产午夜无码精品免费看_久久久久久夜精品精品免费啦_男人女人午夜视频免费_日本xxxx裸体xxxx_丰满人妻熟妇乱又仑精品
電子科大論壇-非清水河畔
標題:
Ajax適用場景
[打印本頁]
作者:
zouba
時間:
2007-9-17 09:42
標題:
Ajax適用場景
Ajax
已經(jīng)成為大型網(wǎng)站所必有的技術。
Ajax
在網(wǎng)站的各個場景中,都可以看到。例如,
校友錄的登錄借口;
Google
輸入關鍵字的文本框;
各大論壇上自動驗證用戶輸入的數(shù)據(jù)的文本框。
總起來,可以大致歸納為以下幾類:
1
.表單驅動的交互
傳統(tǒng)的表單提交,在文本框輸入內容后,點擊按鈕,后臺處理完畢后,頁面刷新,再回頭檢查是否刷新結果正確。使用
Ajax
,在點擊
sunmit
按鈕后,立刻進行異步處理,并在頁面上快速顯示了更新后的結果,這里沒有整個頁面刷新的問題。
例如校友錄登錄就是使用使用這種方式
。
2
.深層次的樹的導航
深層次的級聯(lián)菜單(樹)的遍歷是一項非常復雜的任務,使用
JavaScript
來控制顯示邏輯,使用
Ajax
延遲加載更深層次的數(shù)據(jù)可以有效的減輕服務器的負擔。以前的對級聯(lián)菜單的處理多數(shù)是這樣的:為了避免每次對菜單的操作引起的重載頁面,不采用每次調用后臺的方式,而是一次性將級聯(lián)菜單的所有數(shù)據(jù)全部讀取出來并寫入數(shù)組,然后根據(jù)用戶的操作用
JavaScript
來控制它的子集項目的呈現(xiàn),這樣雖然解決了操作響應速度、不重載頁面以及避免向服務器頻繁發(fā)送請求的問題,但是如果用戶不對菜單進行
操作或只對菜單中的一部分進行操作的話,那讀取的數(shù)據(jù)中的一部分就會成為冗余數(shù)據(jù)而浪費用戶的資源,特別是在菜單結構復雜、數(shù)據(jù)量大的情況下(比如菜單有
很多級、每一級菜又有上百個項目),這種弊端就更為突出。
如果在此案中應用
Ajax
后,結果就會有所改觀:在初始化頁面時我們只讀出它的第一級的所有數(shù)據(jù)并顯示,在用戶操作一級菜單其中一項時,會通過
Ajax
向后臺請求當前一級項目所屬的二級子菜單的所有數(shù)據(jù),如果再繼續(xù)請求已經(jīng)呈現(xiàn)的二級菜單中的一項時,再向后面請求所操作二級菜單項對應的所有三級菜單的所有數(shù)據(jù),以此類推……這樣,用什么就取什么、用多少就取
多少,就不會有數(shù)據(jù)的冗余和浪費,減少了數(shù)據(jù)下載總量,而且更新頁面時不用重載全部內容,只更新需要更新的那部分即可,相對于后臺處理并重載的方式縮短了用戶等待時間,也把對資源的浪費降到最低。例如
Google
的首頁,收入不同的關鍵詞,就會自動提示響應的關鍵字。
3
.快速的用戶與用戶間的交流響應
在眾多人參與的交流討論的場景下,最不爽的事情就是讓用戶一遍又一遍刷新頁面以便知道是否有新的討論出現(xiàn)。新的回復應該以最快的速度顯示出來,而把用戶從分神的刷新中解脫出來,
Ajax
是最好的選擇。
4
.類似投票、
yes/no
等無關痛癢的場景
對于類似這樣的場景中,如果提交過程需要達到
40
秒,很多的用戶就會直接忽略過去而不會參與,但是
Ajax
可以把時間控制在
1
秒之內,從而更多的用戶會加入進來。
5
.對數(shù)據(jù)進行過濾和操縱相關數(shù)據(jù)的場景
對數(shù)據(jù)使用過濾器,按照時間排序,或者按照時間和名稱排序,開關過濾器等等。任何要求具備很高交互性數(shù)據(jù)操縱的場合都應該用
JavaScript
,而不是用一系列的服務器請求來完成。在每次數(shù)據(jù)更新后,再對其進行查找和處理需要耗費較多的時間,而
Ajax
可以加速這個過程。
例如,新浪的郵箱就是采用了這些技術。
6
.普通的文本輸入提示和自動完成的場景
在文本框等輸入表單中給予輸入提示,或者自動完成,可以有效的改善用戶體驗,尤其是那些自動完成的數(shù)據(jù)可能來自于服務器端的場合,
Ajax
是很好的選擇。這一點,
Google
做的最好。大家到
Google
的首頁輸入關鍵字,就會發(fā)現(xiàn)其優(yōu)點。
歡迎光臨 電子科大論壇-非清水河畔 (http://www.hallmarkedu.com/)
Powered by Discuz! X3.4