以前,為了避免每次對菜單的操作引起的重載頁面,不采用每次調用后臺的方式,而是一次性將級聯菜單的所有數據全部讀取出來并寫入數組,然后根據用戶的操作用JavaScript來控制它的子集項目的呈現,這樣雖然解決了操作響應速度、不重載頁面以及避免向服務器頻繁發送請求的問題,但是如果用戶不對菜單進行操作或只對菜單中的一部分進行操作的話,那讀取的數據中的一部分就會成為冗余數據而浪費用戶的資源,特別是在菜單結構復雜、數據量大的情況下(比如菜單有很多級、每一級菜又有上百個項目),這種弊端就更為突出。
現在應用AJAX,在初始化頁面時我們只讀出它的第一級的所有數據并顯示,在用戶操作一級菜單其中一項時,會通過Ajax向后臺請求當前一級項目所屬的二級子菜單的所有數據,如果再繼續請求已經呈現的二級菜單中的一項時,再向后面請求所操作二級菜單項對應的所有三級菜單的所有數據,以此類推……這樣,用什么就取什么、用多少就取多少,就不會有數據的冗余和浪費,減少了數據下載總量,而且更新頁面時不用重載全部內容,只更新需要更新的那部分即可,相對于后臺處理并重載的方式縮短了用戶等待時間,也把對資源的浪費降到最低。
例子3:讀取外部數據
AJAX可以調用外部數據,因此,可以對一些開發的數據比如XML文檔、RSS文檔進行二次加工,實現數據整合或者開發應用程序。六、AJAX的缺陷
AJAX不是完美的技術。使用AJAX,它的一些缺陷不得不權衡一下:
AJAX大量使用了Javascript和AJAX引擎,而這個取決于瀏覽器的支持。IE5.0及以上、Mozilla1.0、NetScape7及以上版本才支持,Mozilla雖然也支持AJAX,但是提供XMLHttpRequest的方式不一樣。所以,使用AJAX的程序必須測試針對各個瀏覽器的兼容性。
文章來源于領測軟件測試網 http://www.kjueaiud.com/