2014-02-10 77 views
0

我對.js文件進行了ajax調用。 JS文件緩存在mem-cache上。目前,Chrome,Firefox和IE瀏覽器正在緩存ajax響應。有什麼辦法可以告訴瀏覽器不要緩存ajax響應。注意 - 我仍然希望ajax調用來獲取JS文件的mem緩存版本,而不是服務器的版本,因此設置緩存頭或向ajax url添加隨機值將不起作用,因爲它將繞過mem-cache。如何讓瀏覽器不要緩存ajax響應

注意 - 有兩種類型的緩存。一個是瀏覽器緩存,另一個是我的服務器和瀏覽器之間的memcached。對我的服務器的每個請求都通過memcache。我不想清除memcache我只想清除瀏覽器緩存。

任何幫助將不勝感激,在此先感謝。

+0

如何將時間戳添加到請求參數? – hindmost

+0

你是如何發起ajax調用的?你在使用jQuery $ .ajax嗎?無論您如何做,GET請求都會被瀏覽器緩存。如果你使用jQuery,你可以設置緩存:false來避免這種情況。否則,您可以嘗試使用POST請求來獲取數據,因爲這些請求沒有被緩存。 – Joel

+0

@Joel我正在使用jQuery。設置緩存:false將_randomNumber添加到ajax url,正如我所說的那樣,它將繞過mem-cache並擊中我的服務器。 POST也做同樣的事情(繞過mem-cache)。 – webDeveloper

回答

0

一個隨機值添加參數到URL,例如:

var url = "http://example.com/some_url/myjs.js?r=" + Math.random() 

var url = "http://example.com/some_url/myjs.js?param1=value1&r=" + Math.random() 

更新:如果它像你在評論中說的那樣繞過你的memcache,你應該檢查讀取memcache的服務器端條件。