一直說(shuō)ajax的異步調(diào)用、局部刷新,除了級(jí)聯(lián)菜單用過(guò)確實(shí)很驚奇之后,再也沒(méi)再用過(guò)。
最近要用ajax,看了jquery和YUI,疑惑重重。
所以頻頻問(wèn)朋友如何在struts1.2中使用jquery、YUI?
也頻頻問(wèn)朋友jquery無(wú)非就是js的封裝而已,怎么ajax了?
大概4,5日,念頭一閃,再想這個(gè)問(wèn)題,突然發(fā)現(xiàn)自己忽略了ajax的本質(zhì):
1) 封裝htmlhttpobject 這個(gè)對(duì)象的跨瀏覽器....
2) 異步調(diào)用
3) 局部刷新
那和傳統(tǒng)做法到底有什么不同呢?
傳統(tǒng)做法:界面-->直接調(diào)用 后臺(tái)邏輯-->處理-->得到結(jié)果-->包裝結(jié)果-->在新頁(yè)面顯示結(jié)果
ajax做法:界面-->直接調(diào)用ajax/js函數(shù)-->調(diào)用 后臺(tái)邏輯-->處理-->得到結(jié)果-->包裝結(jié)果-->在本來(lái)頁(yè)面的div或者某標(biāo)記那里顯示結(jié)果
這個(gè)區(qū)別,如果僅僅從用戶(hù)角度來(lái)說(shuō),如果不需要同一個(gè)頁(yè)面展現(xiàn),或者不需要當(dāng)前頁(yè)面的其他東西,新頁(yè)面和不跳轉(zhuǎn)實(shí)在沒(méi)有什么區(qū)別
但是正是往往需要把結(jié)果展示在同一頁(yè)面,比如數(shù)據(jù)對(duì)比,或者關(guān)聯(lián)顯示(級(jí)聯(lián),細(xì)目圖顯示)等,這個(gè)意義就出來(lái)了。
而像jquery,其就是封裝了一些函數(shù),把該封裝的封裝好,從而你一調(diào)用就產(chǎn)生了一個(gè)對(duì)象。
這個(gè)思想真的好,我可以開(kāi)發(fā)一些創(chuàng)建組件(flash組件,或者其它展示組件,一調(diào)用就產(chǎn)生一個(gè)引用,這樣對(duì)它一賦參數(shù),從而達(dá)到了組件開(kāi)發(fā)的可行性)。
雖然很土,但是確實(shí)很有收獲。
但是為啥能提到flash呢?我剛剛寫(xiě)了本文一遍,但是忘記點(diǎn)了什么鍵,就給刷新了,什么都沒(méi)有了。而flash似乎能保留用戶(hù)剛剛的數(shù)據(jù),隱約是這樣記得的,因此覺(jué)得很是有必要之。