AJAX和DOM的運(yùn)行經(jīng)驗(yàn)
更新時(shí)間:2007年03月07日 00:00:00 作者:
被AJAX中DOM的操作郁悶了好幾天,今天總算搞明白了,自學(xué)就是苦啊,苦的一把鼻涕一把淚的,
把教訓(xùn)些出來,給后來者提個(gè)醒,老鳥就不要看了。
1.DOM中的對XML的操作不要和瀏覽器中的弄混掉了,比如getElementByName是瀏覽器中內(nèi)置document對象的DOM操作,你用來操作
responseXML就是錯(cuò)誤的.在瀏覽器中,你可以使用document.getElementsByName('tagname')[0].value來獲取控件值,但是在操作
responseXML的時(shí)候你就必須使用getElementsByName('tagname')[0].firstChild.data (nodeValue一樣)。
2.如果你要應(yīng)用responseXML,那么你要在服務(wù)器的應(yīng)答服務(wù)中寫上response.setContentType("text/xml");
假如你的AJAX的代碼沒有一次通過,那么即使在你更改正確后,頁面也許還是錯(cuò)誤的,這個(gè)是討厭的瀏覽器緩存造成的,
萬惡的緩存,我在這上面耽擱了至少1整天
所以你最好在服務(wù)器應(yīng)答頁面寫上禁止緩存的語句 response.setHeader("Cache-Control","no-cache");
(請求url后面+當(dāng)前系統(tǒng)的毫秒數(shù)也是一種方法。在js中用new Date().getTime()來獲取系統(tǒng)與某一特定時(shí)間的毫秒差額。).
3.因?yàn)楫?dāng)前IE的一些標(biāo)準(zhǔn)不完全符合W3C。例如:
監(jiān)視控件的改變我們都知道onchange事件,但是對于text控件IE是不支持onchange屬性的,所幸我們
onpropertychange事件來監(jiān)聽text。
再如我們在除IE以外的瀏覽器中設(shè)置CSS屬性可以使用setAtrribute(),但是在IE中不支持,同樣我們使用
EObj.style.stylearrtibute=value來實(shí)現(xiàn)。
把教訓(xùn)些出來,給后來者提個(gè)醒,老鳥就不要看了。
1.DOM中的對XML的操作不要和瀏覽器中的弄混掉了,比如getElementByName是瀏覽器中內(nèi)置document對象的DOM操作,你用來操作
responseXML就是錯(cuò)誤的.在瀏覽器中,你可以使用document.getElementsByName('tagname')[0].value來獲取控件值,但是在操作
responseXML的時(shí)候你就必須使用getElementsByName('tagname')[0].firstChild.data (nodeValue一樣)。
2.如果你要應(yīng)用responseXML,那么你要在服務(wù)器的應(yīng)答服務(wù)中寫上response.setContentType("text/xml");
假如你的AJAX的代碼沒有一次通過,那么即使在你更改正確后,頁面也許還是錯(cuò)誤的,這個(gè)是討厭的瀏覽器緩存造成的,
萬惡的緩存,我在這上面耽擱了至少1整天
所以你最好在服務(wù)器應(yīng)答頁面寫上禁止緩存的語句 response.setHeader("Cache-Control","no-cache");
(請求url后面+當(dāng)前系統(tǒng)的毫秒數(shù)也是一種方法。在js中用new Date().getTime()來獲取系統(tǒng)與某一特定時(shí)間的毫秒差額。).
3.因?yàn)楫?dāng)前IE的一些標(biāo)準(zhǔn)不完全符合W3C。例如:
監(jiān)視控件的改變我們都知道onchange事件,但是對于text控件IE是不支持onchange屬性的,所幸我們
onpropertychange事件來監(jiān)聽text。
再如我們在除IE以外的瀏覽器中設(shè)置CSS屬性可以使用setAtrribute(),但是在IE中不支持,同樣我們使用
EObj.style.stylearrtibute=value來實(shí)現(xiàn)。
相關(guān)文章
ASP+AJAX+ACCESS數(shù)據(jù)庫實(shí)例講解三個(gè)步驟分享
其實(shí)說起AJAX的初級(jí)應(yīng)用是非常簡單的,通俗的說就是客戶端(javascript)與服務(wù)端(asp或php等)腳本語言的數(shù)據(jù)交互2012-07-07基于Ajax和forms組件實(shí)現(xiàn)注冊功能的實(shí)例代碼
本文通過實(shí)例代碼給大家分享了基于Ajax和forms組件實(shí)現(xiàn)注冊功能,需要的朋友可以參考下2018-02-02基于Ajax的聊天機(jī)器人功能的實(shí)現(xiàn)
這篇文章主要介紹了基于Ajax的聊天機(jī)器人,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-11-11健壯的AJAX源碼學(xué)習(xí)應(yīng)用示例
健壯的AJAX源碼學(xué)習(xí)應(yīng)用示例...2006-09-09天楓AJAX天氣預(yù)報(bào)系統(tǒng)V1.0
天楓AJAX天氣預(yù)報(bào)系統(tǒng)V1.0...2007-02-02使用AJAX返回WebService里的集合具體實(shí)現(xiàn)
如何使用AJAX返回WebService里的集合,在本文將有一個(gè)完美的實(shí)現(xiàn),感興趣的朋友可以參考下哈,希望可以幫助到你2013-05-05ajax 返回值自動(dòng)添加pre標(biāo)簽的解決方法
ajax返回的內(nèi)容,居然自動(dòng)添加了pre標(biāo)簽,解決方法是修改一般處理程序的返回類型,遇到類似情況的可以參考下2014-07-07重寫 ajax 實(shí)現(xiàn) session 超時(shí)跳轉(zhuǎn)到登錄頁面實(shí)例代碼
這篇文章主要介紹了重寫 ajax 實(shí)現(xiàn) session 超時(shí)跳轉(zhuǎn)到登錄頁面實(shí)例代碼,需要的朋友可以參考下2017-05-05