今天下午在做要素頁面無刷新添加的時候,IE下遭遇Ajax緩存戲弄,因為剛開始并不知道IE有這個壞毛病,折騰了我一下午,終于解決問題。郁悶之余,總結一下解決辦法:
在IE下用Ajax請求某一頁面,通常會因為緩存的原因而返回上一次的結果,造成混亂,而FF下不會出現這種情況。為了不受緩存影響,可以這樣做:
IE訪問策略:Internet選項--瀏覽歷史記錄--設置-- Internet 臨時文件的選項改為每次訪問網頁時也可以
1: 在AJAX請求的頁面后加個隨機函數,我們可以使用隨機時間函數
在javascript發送的URL后加上t=Math.random()
例如這樣:URL+"&"+"t="+Math.random();或者new Date();
2: 在XMLHttpRequest發送請求之前加上XMLHttpRequest.setRequestHeader("If-Modified-Since","0")
一般情況下,這里的XMLHttpRequest不會直接使用
你應該可以找到這樣的代碼
XXXXX.send(YYYYYY);
那么,就把它變成
XXXXX.setRequestHeader("If-Modified-Since","0");
XXXXX.send(YYYYYY);
實踐證明,兩種方法都非常有效。
posted on 2010-08-26 15:17
ゞ沉默是金ゞ 閱讀(2057)
評論(1) 編輯 收藏 所屬分類:
HTTP