亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在JavaScript或html中實現與Google Chrome瀏覽器的“空緩存和硬重載”?

如何在JavaScript或html中實現與Google Chrome瀏覽器的“空緩存和硬重載”?

鳳凰求蠱 2021-03-29 17:18:33
我正在創建一個顯示JSON文件中的文本的網站。它還允許用戶添加文本,刪除文本和更新現有文本。我進行了設置,以便當用戶按下按鈕(添加btn,刪除btn,更新btn)時,所做的更改將寫入JSON文件,并且頁面會刷新。頁面刷新時,它會讀取JSON文件(我已經確認是新版本),但是不會顯示新數據。我已經深入檢查過,在重新加載頁面之前已修改了JSON文件。if (request.readyState === 4 && request.status === 200) {   let myJson = JSON.parse(request.responseText)   /*do something*/ }此時:盡管JSON文件已被修改,但仍在讀取舊文件。當我執行空緩存和硬重裝時,將讀取新的JSON文件。我已經嘗試過使用JavaScript:location.reload(true)在HTML中,以下各項的組合:    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"/>    <meta http-equiv="Cache-control" content="no-cache"/>    <meta http-equiv="cache-control" content="no-store" />    <meta http-equiv="Pragma" content="no-cache" />    <meta http-equiv="Expires" content="0" />    <meta http-equiv="Expires" content="-1">這些都沒有奏效。
查看完整描述

2 回答

?
慕虎7371278

TA貢獻1802條經驗 獲得超4個贊

我希望您不要將值保存在db中。只需將所有更新值保存在myJson中

為了解決您的問題,只需將數據保存到本地存儲中即可,而不是將變量保存到本地存儲中

localStorage.setItem("myJson",JSON.parse(request.responseText));

如果每次添加,更新,刪除,修改本地存儲,以便本地存儲具有新的更新數據

在頁面加載時檢查本地存儲是否有值,如果有值則不向服務器發送請求,只需從本地存儲(如波紋管)讀取請求

var myJson= localStorage.getItem("myJson",JSON.parse(request.responseText));


查看完整回答
反對 回復 2021-04-08
?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

如果可能的話,您可以在正在執行的任何文件或請求的末尾添加查詢字符串。

如果您需要像這樣的網址$.get('myapi/getfile');,請嘗試在處添加當前日期/時間,然后像這樣結束:

$.get('myapi/getfile?cachebreaker=' + Date.now());

這樣會產生一個URL,例如myapi/getfile?cachebreaker=1553709710447瀏覽器會將其解釋為新請求,而不使用緩存


查看完整回答
反對 回復 2021-04-08
  • 2 回答
  • 0 關注
  • 250 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號