Ajax系列之四 問題總結

2021-06-22 21:14:39 字數 2004 閱讀 5195

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是要通過伺服器來瀏覽,並且伺服器頁面沒有發生錯誤或者轉向時才返回200狀態的,此狀態和你通過瀏覽器訪問頁面時伺服器定義的狀態一致。 

直接拖進瀏覽器瀏覽結果或者雙擊執行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); 

} } 

Ajax系列之四 問題總結

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

ajax問題總結

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

RNN系列之四 長期依賴問題

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