javascript - 如何在 JavaScript 或 html 中实现与 Google Chrome 的 "Empty Cache and Hard Reload"相同的功能?

标签 javascript html css

我正在创建一个显示 JSON 文件文本的网站。它还允许用户添加文本、删除文本和更新现有文本。我将其设置为当用户按下按钮(添加 btn、删除 btn、更新 btn)时,更改将写入 JSON 文件并刷新页面。当页面刷新时,它读取 JSON 文件(我已经确认,是新版本),但它不显示新数据。

我已经深入检查了 JSON 文件在重新加载页面之前是否已修改。

if (request.readyState === 4 && request.status === 200) {
   let myJson = JSON.parse(request.responseText)
   /*do something*/
 }

此时:虽然修改了JSON文件,但是读取的还是旧的。当我执行清空缓存和硬重新加载时,会读取新的 JSON 文件。

我已经在 J​​avaScript 中尝试过:

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">

这些都没有用。

最佳答案

我希望你没有将值保存在数据库中。只需将所有更新值保存在 myJson

要解决您的问题,只需将数据保存到本地存储而不是变量

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

如果每次添加,更新删除 修改本地存储,使本地存储有新的更新数据

在页面加载时检查本地存储是否有值(value)如果有值(value)不要向服务器发送请求 只需从本地存储中读取它 像下面这样

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

关于javascript - 如何在 JavaScript 或 html 中实现与 Google Chrome 的 "Empty Cache and Hard Reload"相同的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55383736/

相关文章:

javascript - 如何在 Highcharts 中围绕 Solid Gauge 制作刻度线

javascript - onunload如何才能正常工作?

javascript - 无法读取未定义的属性 'address_1' - React

javascript - 需要一些有关使用 getElementsByTagName 的建议

html - 将箭头添加到自定义验证 div

javascript - 修改 Javascript 动画面板中的关闭按钮

javascript - Bootstrap 日期选择器 : Misaligned

jquery - 单击链接时如何选择和取消选择复选框

html - 向下滚动时弹出标题

html - 用CSS修改链接