Ajax系列之四 問題總結

2021-09-08 13:16:51 字數 2091 閱讀 6404

1。最經典的就是ie下的快取問題了。

假設使用的是get。那麼在ie下出現快取問題。導致**僅僅執行一次。

解決的方法就是加時間戳或者隨機數,使url變為唯一,這樣就不會出現ie 

下的快取問題了,或者改為post提交。 

xhr.open("get","***x.aspx?_dc="+newdate().gettime(),true); 

2,ajax物件屬性的大寫和小寫問題 

在w3c瀏覽器。如ff中。對大寫和小寫是敏感。如 

if(xhr.readystate==4)這樣的寫法。在ie下是成立的,可是在ff下即可不通了,由於ie不區分大寫和小寫,ff是區分大小的。 

標準寫法為if(xhr.readystate==4),同理還有屬性 responsetext。respon***ml,status。 

還有狀態轉換函式xhr.onreadystatechange。要注意所有為小寫 

3,ajax狀態0問題

有些時候在測試ajax**的時候,加了 xhr.status==200的推斷後,一直不執行xhr.status==200的**,這個就須要注意了。 

xhr.status==200是要通過server來瀏覽。而且server頁面沒有錯誤發生或者轉向時才返回200狀態的,此狀態和你通過瀏覽器訪問頁面時server定義的狀態一致。 

直接拖進瀏覽器瀏覽結果或者雙擊執行html頁面的。未錯誤發生時,此時的xhr.status是0。不是200。 

所以能夠多加乙個xhr.status==0的推斷。例如以下 

複製****例如以下:

if(xhr.status==200||xhr.status==0) 

直接拖進瀏覽器瀏覽結果或者雙擊執行html頁面時。又出現乙個問題,假設請求的是xml檔案。那想當然的是使用respon***ml屬性返回xmldom了。可是在ie返回不了xmldom屬性,解決的方法怎樣呢。看以下的respon***ml問題。

4,respon***ml問題。

要使用respon***ml屬性,請求的是xml檔案或者設定了響應頭為"text/xml"的動態頁面了。

要注意假設請求的是動態頁面。一定不要忘記設定contenttype為"text/xml"!!

切記~~~~~~ 

asp為 response.contenttype="text/html" 

asp.net為 response.contenttype="text/html"; 

php為 header("content-type:text/xml;"); 

在ie下有個問題,直接拖進瀏覽器瀏覽或者雙擊執行html預覽效果時,請求的即使是xml檔案,使用respon***ml返回不了xmldom。 

大家測試下就知道了。例如以下 

showbo.xml 

複製****例如以下:

1item> 

2item> 

3item> 

4item> 

test.html 

複製****例如以下:

function getajax() 

var xhr=getajax(); 

xhr.onreadystatechange=function() 

else alert('錯誤發生\n\n'+xhr.status); 

} } 

xhr.open("get","showbo.xml?

_dc="+newdate().gettime(),true); 

xhr.send(null); 

解決的方法就是使用microsoft.xmldom物件又一次建立xml的樹結構。例如以下 

複製****例如以下:

xhr.onreadystatechange=function() 

var item=doc.getelementsbytagname("item"); 

alert(item.length); 

} else alert('錯誤發生\n\n'+xhr.status); 

} } 

5,為post提交時須要注意的。

Ajax系列之四 問題總結

1,最經典的就是ie下的快取問題了。如果使用的是get,那麼在ie下出現快取問題。導致 只執行一次。解決辦法就是加時間戳或者隨機數,使url變為唯一,這樣就不會出現ie 下的快取問題了,或者改為post提交。xhr.open get x.aspx?dc newdate gettime true 2,...

ajax問題總結

在看文章前,先指定乙個通用的變數 xhr,xhr代表 ajax 物件。測試瀏覽器 ie為 ie6,firefox為2 其他的未測試。統稱 ie6為ie,firefox2為ff 基本的 1,最經典的就是 ie下的快取問題了。如果使用的是 get,那麼在 ie下出現快取問題。導致 只執行一次。解決辦法就...

RNN系列之四 長期依賴問題

rnn面臨的最大挑戰就是無法解決長期依賴問題。例如對下面兩句話 最後的was與were如何選擇是和前面的單複數有關係的,但對於簡單的rnn來說,兩個詞相隔比較遠,如何判斷是單數還是複數就很關鍵。長期依賴的根本問題是,經過許多階段傳播後的梯度傾向於消失 大部分情況 或 很少,但對優化過程影響很大 對於...