簡體   English   中英

有選擇地強制瀏覽器緩存清除Ajax請求

[英]Selectively Force Browser Cache to Clear Ajax Request

對於瀏覽器緩存,有很多答案,但是大多數答案是打開或關閉緩存,或者為某些靜態資產(例如js或圖片)請求使用不同的url。

  • 我正在通過ajax請求加載json數據
  • 這是動態內容,例如任務列表
  • 我只想在用戶執行特定操作后進行更新。 在此之前,它可以永遠被緩存。
  • 當用戶執行該操作時,我想使緩存無效並從服務器獲取新版本。

    1. 有沒有一種方法可以清除瀏覽器的本地緩存,而無需更改URL。 因此,/ tasks緩存到明年。 我想對此無效,並強制將來對/ tasks的請求以獲取新數據和新的expires標頭。

    2. 我最好不要允許瀏覽器緩存並在服務器上緩存請求/數據嗎?

另一個類似的問題: 強制AJAX請求重新驗證服務器的緩存,而無需完全重新加載

cache: false foreach請求cache: false jquery將添加時間戳作為get參數,因此該請求是唯一的,不會被緩存

$.ajax({
    url:"example.php"
    cache:false
});

引用jquery docs :緩存(默認值:true,dataType'script'和'jsonp'的false)類型:Boolean如果設置為false,將強制瀏覽器不緩存請求的頁面。 注意:將緩存設置為false只能與HEAD和GET請求一起正常使用。 它通過在GET參數后附加“ _ = {timestamp}”來工作。 其他類型的請求不需要該參數,但在IE8中,當GET對已經由GET請求的URL進行POST時,則不需要該參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM