我正在创建一个显示 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">
这些都没有用。
最佳答案
我希望你没有将值保存在数据库中。只需将所有更新值保存在 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/