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