javascript - 除非我在浏览器中刷新 JSON 文件,否则 Javascript (jQuery) 加载的 JSON 不会更新
问题描述
所以我正在加载 JSON 文件 movies.json 以便获取它的数据。数据是通过 POST 请求提交的,我可以确认自动更新它就好了。无论如何,当我将值设置为 Javascript 数组时,它不会在页面上自动更新。例如,控制台输出显示了之前的 JSON。要解决此问题,我需要手动转到浏览器中的 json 文件,然后刷新页面。然后,当我刷新希望显示我的 json 值的页面时,它就可以工作了。谁能帮我解决这个问题?我对 Javascript 还很陌生。
$(document).ready(function) {
$.getJSON("{{ url_for('static', filename='movies.json') }}", function(json){
var data = [];
$.each(json, function (index, value) {
data.push(value); // Puts the JSON values into an array
});
console.log(data) // Logs the Array
var output = document.getElementById('movie'); // Sets output to the movie div
output.innerHTML = data[0]; // Sets the value to the title of the movie
});
});
例如,这会输出“复仇者联盟:无限战争”,这也可以在我的 JSON 文件中看到。但是如果我发送另一个帖子请求说“蝙蝠侠和罗宾”,它仍然会输出“复仇者联盟:无限战争”,而我的实际 JSON 文件准确地说是“蝙蝠侠和罗宾”
解决方案
所以我解决了这个问题。我发现我的 JSON 文件正在被缓存,并且清除我的缓存解决了这个问题。所以我环顾四周,发现这篇内容非常丰富的文章。
因此,每次搜索我的 json 文件时,我都必须为其添加一个唯一 ID。我更新的代码如下所示:
$.getJSON("{{ url_for('static', filename='movies.json') }}?id={{ movie_id }}", function(json) {
推荐阅读
- python - 简单的自有树架构就是子节点相乘
- android - 当我尝试将更改侦听器添加到搜索栏时应用程序关闭(Android Studio、Kotlin)
- android - Mapbox 添加 WMS 源
- java - 骆驼延迟拦截器:工作模棱两可
- python-3.x - 使用 numpy 向量化带有标量的数组减法(通过另一个数组)而不使用双 for 循环
- php - HTML - PHP 回显图像
- git - 当“用户名/功能名称”分支在源上存在但现在已删除时,尝试创建“用户名”分支时出错
- java - Spark Streaming:将处理后的数据存储到 elasticsearch
- firebase - Firestore 规则允许覆盖
- php - Imagick PHP EPS 到 PNG 的转换在边缘没有干净的结果