一、問題解釋:
當瀏覽器第一次發送請求之後,如果第二次請求和第一次完全相同(URL和參數),
那麼瀏覽器不會發送請求,只會使用第一次的緩存.
有時會出現一些很奇葩的錯,可能是由於瀏覽器的不同緩存級別造成(第一次訪問成功,第二此出現bug)
二、ajax中解決緩存問題的方法
客戶端:
1.URL+new Date().getTime();
2.在ajax發送請求前加上 xmlHttpRequest.setRequestHeader("If-Modified-Since","0");
3.在ajax發送請求前加上 xmlHttpRequest.setRequestHeader("Cache-Control","no-cache");
服務器端:
返回值添加:
//禁用頁面緩存 response.setHeader("Cache-Control","no-cache");
對於不同的瀏覽器有不同的支持
客戶端選:URL+new Date().getTime();基本都支持(ie,chrome);
實質:網頁的緩存都是由HTTP消息頭中的“Cache-control”來控制的,我們只是在控制其參數
細節:
刷新瀏覽器有不同的方法,會產生不同的結果。
Cache-control參數:常見的取值有private、no-cache、max-age、must-revalidate等,默認爲private
參見:http://www.cnblogs.com/cuixiping/archive/2008/05/04/1181056.html