AJAX和DOM的運(yùn)行經(jīng)驗(yàn)
更新時(shí)間:2007年03月07日 00:00:00 作者:
被AJAX中DOM的操作郁悶了好幾天,今天總算搞明白了,自學(xué)就是苦啊,苦的一把鼻涕一把淚的,
把教訓(xùn)些出來(lái),給后來(lái)者提個(gè)醒,老鳥(niǎo)就不要看了。
1.DOM中的對(duì)XML的操作不要和瀏覽器中的弄混掉了,比如getElementByName是瀏覽器中內(nèi)置document對(duì)象的DOM操作,你用來(lái)操作
responseXML就是錯(cuò)誤的.在瀏覽器中,你可以使用document.getElementsByName('tagname')[0].value來(lái)獲取控件值,但是在操作
responseXML的時(shí)候你就必須使用getElementsByName('tagname')[0].firstChild.data (nodeValue一樣)。
2.如果你要應(yīng)用responseXML,那么你要在服務(wù)器的應(yīng)答服務(wù)中寫(xiě)上response.setContentType("text/xml");
假如你的AJAX的代碼沒(méi)有一次通過(guò),那么即使在你更改正確后,頁(yè)面也許還是錯(cuò)誤的,這個(gè)是討厭的瀏覽器緩存造成的,
萬(wàn)惡的緩存,我在這上面耽擱了至少1整天
所以你最好在服務(wù)器應(yīng)答頁(yè)面寫(xiě)上禁止緩存的語(yǔ)句 response.setHeader("Cache-Control","no-cache");
(請(qǐng)求url后面+當(dāng)前系統(tǒng)的毫秒數(shù)也是一種方法。在js中用new Date().getTime()來(lái)獲取系統(tǒng)與某一特定時(shí)間的毫秒差額。).
3.因?yàn)楫?dāng)前IE的一些標(biāo)準(zhǔn)不完全符合W3C。例如:
監(jiān)視控件的改變我們都知道onchange事件,但是對(duì)于text控件IE是不支持onchange屬性的,所幸我們
onpropertychange事件來(lái)監(jiān)聽(tīng)text。
再如我們?cè)诔齀E以外的瀏覽器中設(shè)置CSS屬性可以使用setAtrribute(),但是在IE中不支持,同樣我們使用
EObj.style.stylearrtibute=value來(lái)實(shí)現(xiàn)。
把教訓(xùn)些出來(lái),給后來(lái)者提個(gè)醒,老鳥(niǎo)就不要看了。
1.DOM中的對(duì)XML的操作不要和瀏覽器中的弄混掉了,比如getElementByName是瀏覽器中內(nèi)置document對(duì)象的DOM操作,你用來(lái)操作
responseXML就是錯(cuò)誤的.在瀏覽器中,你可以使用document.getElementsByName('tagname')[0].value來(lái)獲取控件值,但是在操作
responseXML的時(shí)候你就必須使用getElementsByName('tagname')[0].firstChild.data (nodeValue一樣)。
2.如果你要應(yīng)用responseXML,那么你要在服務(wù)器的應(yīng)答服務(wù)中寫(xiě)上response.setContentType("text/xml");
假如你的AJAX的代碼沒(méi)有一次通過(guò),那么即使在你更改正確后,頁(yè)面也許還是錯(cuò)誤的,這個(gè)是討厭的瀏覽器緩存造成的,
萬(wàn)惡的緩存,我在這上面耽擱了至少1整天
所以你最好在服務(wù)器應(yīng)答頁(yè)面寫(xiě)上禁止緩存的語(yǔ)句 response.setHeader("Cache-Control","no-cache");
(請(qǐng)求url后面+當(dāng)前系統(tǒng)的毫秒數(shù)也是一種方法。在js中用new Date().getTime()來(lái)獲取系統(tǒng)與某一特定時(shí)間的毫秒差額。).
3.因?yàn)楫?dāng)前IE的一些標(biāo)準(zhǔn)不完全符合W3C。例如:
監(jiān)視控件的改變我們都知道onchange事件,但是對(duì)于text控件IE是不支持onchange屬性的,所幸我們
onpropertychange事件來(lái)監(jiān)聽(tīng)text。
再如我們?cè)诔齀E以外的瀏覽器中設(shè)置CSS屬性可以使用setAtrribute(),但是在IE中不支持,同樣我們使用
EObj.style.stylearrtibute=value來(lái)實(shí)現(xiàn)。
相關(guān)文章
仿google搜索提示 SuggestFramework的使用
使用幫助(英文版翻譯而來(lái),可能有錯(cuò)誤,請(qǐng)大家仔細(xì)核對(duì),也希望對(duì)新手理解能有所幫助)2008-09-09
通過(guò)history解決ajax不支持前進(jìn)/后退/刷新的問(wèn)題
下面小編就為大家?guī)?lái)一篇通過(guò)history解決ajax不支持前進(jìn)/后退/刷新的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07
$.ajax傳JSON數(shù)據(jù)到后臺(tái)出現(xiàn)報(bào)錯(cuò)問(wèn)題解決
$.ajax傳JSON數(shù)據(jù)到后臺(tái)時(shí)總會(huì)出現(xiàn)一些錯(cuò)誤,本文整理了一些注意事項(xiàng),感興趣的朋友可以參考下2014-01-01
ajax無(wú)刷新分頁(yè)的簡(jiǎn)單實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了ajax無(wú)刷新分頁(yè)的簡(jiǎn)單實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-05-05
Ajax 入門(mén)之 GET 與 POST 的不同處詳解
這篇文章主要介紹了Ajax 入門(mén)之 GET 與 POST 的不同處詳解,需要的朋友可以參考下2017-02-02
使用FormData進(jìn)行Ajax請(qǐng)求上傳文件的實(shí)例代碼
這篇文章主要介紹了使用FormData進(jìn)行Ajax請(qǐng)求上傳文件的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-08-08
通過(guò)Ajax請(qǐng)求動(dòng)態(tài)填充頁(yè)面數(shù)據(jù)的實(shí)例
今天小編就為大家分享一篇通過(guò)Ajax請(qǐng)求動(dòng)態(tài)填充頁(yè)面數(shù)據(jù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08

