AJAX和DOM的運(yùn)行經(jīng)驗(yàn)
更新時(shí)間:2007年03月07日 00:00:00 作者:
被AJAX中DOM的操作郁悶了好幾天,今天總算搞明白了,自學(xué)就是苦啊,苦的一把鼻涕一把淚的,
把教訓(xùn)些出來,給后來者提個(gè)醒,老鳥就不要看了。
1.DOM中的對(duì)XML的操作不要和瀏覽器中的弄混掉了,比如getElementByName是瀏覽器中內(nèi)置document對(duì)象的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");
(請(qǐng)求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事件,但是對(duì)于text控件IE是不支持onchange屬性的,所幸我們
onpropertychange事件來監(jiān)聽text。
再如我們?cè)诔齀E以外的瀏覽器中設(shè)置CSS屬性可以使用setAtrribute(),但是在IE中不支持,同樣我們使用
EObj.style.stylearrtibute=value來實(shí)現(xiàn)。
把教訓(xùn)些出來,給后來者提個(gè)醒,老鳥就不要看了。
1.DOM中的對(duì)XML的操作不要和瀏覽器中的弄混掉了,比如getElementByName是瀏覽器中內(nèi)置document對(duì)象的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");
(請(qǐng)求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事件,但是對(duì)于text控件IE是不支持onchange屬性的,所幸我們
onpropertychange事件來監(jiān)聽text。
再如我們?cè)诔齀E以外的瀏覽器中設(shè)置CSS屬性可以使用setAtrribute(),但是在IE中不支持,同樣我們使用
EObj.style.stylearrtibute=value來實(shí)現(xiàn)。
相關(guān)文章
仿google搜索提示 SuggestFramework的使用
使用幫助(英文版翻譯而來,可能有錯(cuò)誤,請(qǐng)大家仔細(xì)核對(duì),也希望對(duì)新手理解能有所幫助)2008-09-09
通過history解決ajax不支持前進(jìn)/后退/刷新的問題
下面小編就為大家?guī)硪黄ㄟ^history解決ajax不支持前進(jìn)/后退/刷新的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07
$.ajax傳JSON數(shù)據(jù)到后臺(tái)出現(xiàn)報(bào)錯(cuò)問題解決
$.ajax傳JSON數(shù)據(jù)到后臺(tái)時(shí)總會(huì)出現(xiàn)一些錯(cuò)誤,本文整理了一些注意事項(xiàng),感興趣的朋友可以參考下2014-01-01
使用FormData進(jìn)行Ajax請(qǐng)求上傳文件的實(shí)例代碼
這篇文章主要介紹了使用FormData進(jìn)行Ajax請(qǐng)求上傳文件的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-08-08
通過Ajax請(qǐng)求動(dòng)態(tài)填充頁面數(shù)據(jù)的實(shí)例
今天小編就為大家分享一篇通過Ajax請(qǐng)求動(dòng)態(tài)填充頁面數(shù)據(jù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-08-08

