javascript - 如何防止浏览器缓存一个json文件

标签 javascript html json caching

所以我正在做这个小项目,但在捕捉方面遇到了一些麻烦。一件不起作用的事情是浏览器一直缓存包含保存数据的 json 文件,当我在其他地方更新 json 时,浏览器返回到它缓存的旧版本的 json 文件并读取它。不幸的是我不想要那个。我根本不希望浏览器缓存文件,以便每次加载页面时,它都会向服务器询问 json 文件并根据该文件而不是缓存的任何文件进行操作。但是,我希望能够缓存页面上的所有其他内容,但如果必须为此牺牲它才能工作,那么这是我愿意做出的牺牲。我设想在 JavaScript 中会有一个调用说丢弃当前的 json 文件并再次向服务器询问它或类似的东西

<script src="mySaveFiles.json" cache="no"> 

或类似的东西来帮助我实现我所说的...帮助?

最佳答案

最简单的方法是在源字符串中附加一些随机参数,这在服务器端会被忽略

<script src="mySaveFiles.json?nocache=123" ></script>

一种解决方案是使用 JavaScript 生成脚本元素并附加当前时间,如下所示:

var el = document.createElement( script );
el.src = 'mySaveFiles.json?nocache=' + (new Date()).getTime();
document.head.appendChild( el );

这样一来,浏览器将永远不会缓存 JSON 文件,因为它在每次调用中看起来都是不同的文件(由于参数)。

关于javascript - 如何防止浏览器缓存一个json文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15041603/

相关文章:

javascript - 如何在angularjs中的ng-grid中显示json数据

javascript - 如何从动态创建的文本框中获取值?

javascript - 根据对象属性在 ngRepeat 中创建 html 元素

javascript - 使用 javascript 动态生成树

html - 如何停止我的动画

javascript - 求和值单选按钮 javascript

javascript - 在单个 div 中滚动会导致重叠

html - 如何使用SWF作为正文背景?

javascript - AngularJS:无法将 $Http JSON 响应发送到 View

javascript - 如何通过 Electron 商店添加应用名称和路径以在JSON文件中列出