今天下午在做要素頁面無刷新添加的時(shí)候,IE下遭遇Ajax緩存戲弄,因?yàn)閯傞_始并不知道IE有這個(gè)壞毛病,折騰了我一下午,終于解決問題。郁悶之余,總結(jié)一下解決辦法:
在IE下用Ajax請(qǐng)求某一頁面,通常會(huì)因?yàn)榫彺娴脑蚨祷厣弦淮蔚慕Y(jié)果,造成混亂,而FF下不會(huì)出現(xiàn)這種情況。為了不受緩存影響,可以這樣做:
IE訪問策略:Internet選項(xiàng)--瀏覽歷史記錄--設(shè)置-- Internet 臨時(shí)文件的選項(xiàng)改為每次訪問網(wǎng)頁時(shí)也可以
1: 在AJAX請(qǐng)求的頁面后加個(gè)隨機(jī)函數(shù),我們可以使用隨機(jī)時(shí)間函數(shù)
在javascript發(fā)送的URL后加上t=Math.random()
例如這樣:URL+"&"+"t="+Math.random();或者new Date();
2: 在XMLHttpRequest發(fā)送請(qǐng)求之前加上XMLHttpRequest.setRequestHeader("If-Modified-Since","0")
一般情況下,這里的XMLHttpRequest不會(huì)直接使用
你應(yīng)該可以找到這樣的代碼
XXXXX.send(YYYYYY);
那么,就把它變成
XXXXX.setRequestHeader("If-Modified-Since","0");
XXXXX.send(YYYYYY);
實(shí)踐證明,兩種方法都非常有效。