為了避免每次對菜單的操作引起的重載頁面,不采用每次調用后臺的方式,而是一次性將級聯菜單的所有數據全部讀取出來并寫入數組,然后根據用戶的操作用 JavaScript來控制它的子集項目的呈現,這樣雖然解決了操作響應速度、不重載頁面以及避免向服務器頻繁發送請求的問題,但是如果用戶不對菜單進行 操作或只對菜單中的一部分進行操作的話,那讀取的數據中的一部分就會成為冗余數據而浪費用戶的資源,特別是在菜單結構復雜、數據量大的情況下(比如菜單有 很多級、每一級菜又有上百個項目),這種弊端就更為突出。
如果在此案中應用Ajax后,結果就會有所改觀:
在初始化頁面時我們只讀出它的第一級的所有數據并顯示,在用戶操作一級菜單其中一項時,會通過Ajax向后臺請求當前一級項目所屬的二級子菜單的所有數據,如 果再繼續請求已經呈現的二級菜單中的一項時,再向后面請求所操作二級菜單項對應的所有三級菜單的所有數據,以此類推……這樣,用什么就取什么、用多少就取 多少,就不會有數據的冗余和浪費,減少了數據下載總量,而且更新頁面時不用重載全部內容,只更新需要更新的那部分即可,相對于后臺處理并重載的方式縮短了 用戶等待時間,也把對資源的浪費降到最低。
3.快速的用戶與用戶間的交流響應
在眾多人參與的交流討論的場景下,最不爽的事情就是讓用戶一遍又一遍刷新頁面以便知道是否有新的討論出現。新的回復應該以最快的速度顯示出來,而把用戶從分神的刷新中解脫出來,Ajax是最好的選擇。
文章來源于領測軟件測試網 http://www.kjueaiud.com/