AJAX開發技巧

2021-09-08 15:19:16 字數 1712 閱讀 2554

值得留意的還有和css一樣的批量選擇語法$$(),

傳統的基於url的ajax函式簡單實用。

newajax.updater('bookdiv',

"foo

.jsp");

另有可定時執行ajax的periodicalupdater。

form.serialize   將form中所有input物件的值轉化為乙個url string,方便把form轉為用 url get方式的ajax提交,最經典的用ajax提交form的例子: 

<

form action="

/action/here

"method="

post

"onsubmi="

new ajax.updater('div_to_be_updated', '/action/here', );

return false;

">

另外,form.focusfirstelement , form.getinputs等函式也很實用

除了後述的observe模式外,還有下列保證相容ie和ff的事件函式:

1.event.element(event),找出觸發事件的element.

2.event.findelement(event,tagname),搜尋dom tree裡事件的響應鏈裡的第乙個符合tagname的element.

3.pointerx(event),pointery(event)等.

還定義了一些標準keycode,見:

1.迴圈函式

elements.each( 

function

(element));

2.不定引數

newajax.updater('mydiv', '

/foo

/bar', );

observe模式,就是連線仍然以形式編寫,用observe為其加入onclick事件的偵聽。 這樣,當搜尋引擎訪問時,就會訪問傳統的url;而使用者使用ie訪問時,就會被observe轉為使用onclick事件的ajax效果。

見springside中的/home/index.jsp 圖書詳情察看--通過selector查詢需要處理的鏈結(a),迴圈為每個鏈結新增觀察者,為click事件,新增handle函式。   

$$('div#left_books 

*a[href]').each(

function

(element));

function

handlercilckevent(event)

script.aculo.us語法超簡潔的builder, 相比之下w3c的dom builder語法簡直是噩夢。html片斷不複雜時如果用jstemplate有點大炮打蚊子,用script.aculo.us的builder就夠了。

builder很有ruby的風格,請看下面一句 : 

foo=

builder.node('a', ,categorys[i].name)

第1個引數是element型別,第2個是可選的attribbute,第3個是節點內的子節點。

如果要換成w3c的dom函式寫法,善哉善哉。

div 

=builder.node('div',,[ 

builder.node('a', , categorys[i].name)  ]);

當然了,還是沒有js template清晰,所以builder只作為html片斷非常短時使用。

AJAX應用技巧

xmlhttprequest瀏覽器快取問題 在firefox瀏覽器中,xmlhttprequest物件相相同的url傳送請求時,瀏覽器每次都會向伺服器傳送請求,不存在快取的問題,而ie瀏覽器如果url請求位址相同時,瀏覽器會讀取其快取中的內容進行響應,而不再向伺服器傳送請求,解決瀏覽器快取的辦法是 ...

Ajax開發經驗

1 ajax還是ajah ajax的很多經典應用其實都是利用xmlhttp空間訪問後台程式,後台程式返回指令碼用eval 或者返回簡單資料的方式來開發。這樣的開發模式的好 處是設計簡單輕巧,對熟悉dhtml的開發者來說上手會比較塊,跨瀏覽器問題也容易解決,做簡單的應用也夠用。gmail,google...

Ajax開發經驗

1 ajax還是ajah ajax的很多經典應用其實都是利用xmlhttp空間訪問後台程式,後台程式返回指令碼用eval 或者返回簡單資料的方式來開發。這樣的開發模式的好處是設計簡單輕巧,對熟悉dhtml的開發者來說上手會比較塊,跨瀏覽器問題也容易解決,做簡單的應用也夠用。gmail,google ...