對了,不能為了AJAX而AJAX,就像鋼要用到刀刃上一樣,AJax應該用在能充分發揮它的優點的地方。而大多數的時候,我們還需要和往常一樣,使用MVC的實現STRUTS開發框架。
提到AJAX,不能不提到與它一起被強調的另一個詞:用戶體驗。AJAX豐富了B/S模式的表現層,對於B/S模式的UI來說,它號稱沒有做不到、只有想不到。這裡說來說去,都是一個用戶體驗的問題。AJAX號稱無刷新,其實很多時候,用戶需要有刷新才能知道有了頁面提交,如在保存數據的時候,所以在這個時候使用AJax卻有害於用戶體驗的。
那麼在什麼時候可能使用到AJAX呢?第一、請求的提交是為了頁面數據的顯示,這時候用戶一般不希望看到頁面的刷新,是使用AJAX的一個最佳時候。第二、如果請求提交後,用戶能從頁面感覺到提交結果,這時候,也最好不要有頁面刷新,推薦使用AJAX技術。第三、如果請求提交後,用戶不能從頁面感覺到提交動作,如絕大多數時候的數據的增加和修改,這時候則需要頁面刷新,不能使用AJAX技術。第四、復雜的UI,以前對於復雜的C/S模式的UI,B/S模式一向采取逃避的方法,現在則可以放心大膽的使用AJax來加以解決。
AJAX技術的實踐,就像有了魔法一樣,一旦你使用了一次,就會愛不釋手。面對精彩的AJAX技術,還等什麼?趕快看看您的WEB應用裡,有沒有下列問題之一,如果有的話,不妨用AJax試試看!
第一、輸入值校驗的問題。
輸入校驗是我們經常遇到的問題,這種問題很多時候是可以在JS裡解決。但有些時候卻需要訪問後台,如在申請用戶的時候檢查用戶名是否重復等等問題。用AJax吧,頁面不會有刷新。
第二、級聯顯示的問題。
這種問題應該是我們遇到的最多的表現層的問題,常常讓我們左右為難:你說訪問後台吧,頁面需要刷新,用戶體驗很不好;你說用JS解決吧,確實有點讓JS勉為其難,強行用JS解決了,代碼一大堆不說,數據量大的話還會有內存問題,而且數據也不安全。
這類的問題很多:最常見的是級聯的兩個或更多的選擇框,還有選擇框的變形,級聯菜單,導航樹等等。
遇到了這一類的問題,趕快行動吧!用AJax訪問後台,既不需要刷新頁面,也沒有過多的JS代碼,一舉兩得。
第三、請求結果只改變部分頁面。
這一類的問題我們也會時常碰到,如,論壇的回復帖子和帖子列表在一個頁面上的時候。這兩個UI在一個頁面上,用戶體驗比回復帖子在另外一個頁面好。但回復後要對整個頁面進行刷新,這種感覺就不好了。你看,那麼大一個帖子列表,只增加你的一個回復,卻要對整個頁面進行刷新,不管從哪個角度來看都不好。
這一類的問題不管是用戶體驗,還是從技術的角度來講,都是使用AJax最好不過。
第四、由於技術原因而使用iframe的問題。
Iframe的問題純粹是由於技術的原因引起的。為了解決技術問題而引入iframe,卻iframe的一再嵌套卻又引入了其他的技術難題。有的想盡辦法來勉強解決這個問題,有的卻干脆不要使用iframe。不使用iframe,而使用JS的解決方法卻是繁瑣的。現在不用左右為難了,使用AJax就是最好的解決方案。
第五、數據錄入和列表顯示在同一個頁面。
C/S模式的UI中常常有數據錄入和數據列表顯示在同一個界面上,這樣對於用戶來說有很好的用戶體驗,用戶錄入的結果馬上就能在同一界面顯示。但是在B/S的UI上,由於需要提交刷新的問題,我們經常把數據的錄入和數據顯示分別放在兩個不同的頁面上。很顯然,這樣的用戶體驗肯定沒有C/S模式來得好。像這樣的問題還有很多,在B/S模式下,都因為技術的原因而選擇其他的解決辦法。現在我們可以自豪的使用AJax來宣告可以做出和C/S模式一樣復雜的UI了。
第六、翻頁問題。
如果有技術可以使翻頁不需要刷新,你願不願意嘗試一下呢?有很多這樣的數據顯示的問題需要刷新哦,考慮一下AJax!