在页面刷新时使用 jQuery 重新加载 JSON 文件

Reload JSON file using jQuery on page refresh

本文关键字:新加载 加载 文件 JSON jQuery 刷新      更新时间:2023-09-26

我在这里要做的是:

$.getJSON(sampleJson.json), function(data) {}

从网页上显示sampleJson.json读取数据。通过 AJAX 调用提交的网页上显示的数据更改,如下所示:

$.ajax({type: "GET", url: "...", data: "abc" ,
    Success: function(data) {}

数据被带到服务器端,在那里我使用 servlet 获取数据。问题就在这里,我在同一sampleJson.json写入数据,以便更新 json 文件。现在,我希望更改的数据在页面刷新时反映在网页上,因为我使用相同的sampleJson.json在页面加载时显示数据,但网页没有显示更改的数据。

我希望问题清楚了,有没有办法解决这个问题?

这是因为缓存的内容是从第二个请求提供的。添加一个带有 json url 的时间戳参数,每次您请求时都会使 http 请求成为一个新的请求。像下面一样

 var curTimeStamp = Math.floor(Date.now() / 1000);
 $.ajax({type: "GET", url: "/json/sampleJson.json?t="+curTimeStamp, data: "abc" ,
Success: function(data) {}

如果您可以修改为 json 文件提供服务的服务器端,则可以在标头中添加"无缓存"。

在nodejs-expressjs中执行此操作

..
res.setHeader('Cache-Control', 'no-cache');
res.json(yourdata);
..

但是如何取决于您的服务器端技术以及更改它的可能性。(爪哇?