我開發了一個簡單的覆蓋圖以預覽圖像的全尺寸。jQuery ajax緩存:false只能在Firefox中使用
我使用「cache:false」來防止緩存。
代碼很簡單:
$.ajax({
url: urlFull,
cache: false,
success: function(html){
// display image
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
// display error
}
});
的問題是 - 當圖像文件將被另一個取代,瀏覽器將始終顯示無論「緩存:假」舊人,選項設置。
此問題出現在Safari 5.0(6533.16)和Chrome 5.0.375.99下。
在Firefox 3.6.3它按預期工作(無緩存)
我無法控制服務器端邏輯,因爲我預加載一個普通的文件,而無需調用軌控制器動作。
是否有解決此問題的方法?也許,我可以攔截Rails服務器的響應並調整一些標頭? ...我在localhost下開發。
謝謝。
+1 - 它不是一個骯髒的解決方案,它是我知道的唯一方法可以在所有瀏覽器上運行。現在,如果您願意使用'POST'而不是'GET',那麼也會阻止緩存。 – 2010-07-22 07:01:22
我還沒有找到文檔中的時間戳。我如何設置它? – AntonAL 2010-07-22 08:34:22
只需將新的GET參數添加到您的URL: 'url + =「&avoidCache =」+(new Date())。getTime()' – spektom 2010-07-23 05:02:45