用fiddler調試http請求,在ie瀏覽器下,如果請求命中緩存,fiddler不會包含該請求。但是在chrome下會包含緩存的請求,Result顯示為304。 ie瀏覽器還會緩存通過ajax請求的數據,導致後續ajax的請求數據不能更新。實際上是只緩存get方式的請求,post方法因為每次的數據 ...
用fiddler調試http請求,在ie瀏覽器下,如果請求命中緩存,fiddler不會包含該請求。但是在chrome下會包含緩存的請求,Result顯示為304。
ie瀏覽器還會緩存通過ajax請求的數據,導致後續ajax的請求數據不能更新。實際上是只緩存get方式的請求,post方法因為每次的數據不一樣,所以不會被緩存。
解解方法:
客戶端:
$.get(url,{ "r": new Date().getTime() }, function(res){ //每次的請求不一樣,瀏覽器就不會使用緩存 console.log(res); }); //Or $.ajaxSetup({ //對全局的ajax方法進行配置,後續的ajax請求都會使用該參數 //禁用緩存 cache: false });
伺服器端:
返回數據時增加一個no-cache的頭部。