除非我在浏览器中刷新JSON文件,否则加载Javascript(jQuery)的JSON不会更新

时间:2018-11-15 11:57:30

标签: javascript jquery json

因此,我正在加载JSON文件movie.json,以便获取其数据。数据是通过POST请求提交的,我可以确认自动更新就可以了。无论如何,当我将值设置为Javascript数组时,它不会在页面上自动更新。例如,控制台输出显示先前的JSON。要解决此问题,我需要在浏览器中手动转到json文件,然后刷新页面。然后,当我刷新希望显示json值的页面时,它可以工作。谁能帮我解决这个问题?我对Java相当陌生。

$(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
    });
});

这将输出例如“ Avengers:Infinity war”,也可以在我的JSON文件中看到。但是,如果我再发送一个帖子请求说“蝙蝠侠和罗宾”,它仍然会输出“复仇者联盟:无限战争”,而我的实际JSON文件准确地说是“蝙蝠侠和罗宾”

1 个答案:

答案 0 :(得分:0)

所以我解决了这个问题。我发现我的JSON文件已被缓存,并且清除缓存解决了该问题。所以我环顾四周,found this very informative article.

因此,每次搜索时,我都必须向json文件添加一个唯一ID。我更新的代码如下:

$.getJSON("{{ url_for('static', filename='movies.json') }}?id={{ movie_id }}", function(json) {