如何缓存JSON响应?

时间:2016-05-21 19:25:27

标签: javascript php json

我有一个用于显示价格的JSON文件。 JSON文件每30分钟只刷新一次服务器端,但是当客户端刷新时,他只获得相同的版本。有没有办法让JSON文件有一个到期日期,然后重新下载它,而不是继续下载它?

2 个答案:

答案 0 :(得分:1)

如果文件自浏览器存储在其文件缓存中的日期以来未发生更改,则可以将服务器设置为返回304 - 未修改响应。基本上,当客户端请求文档时,它可以发送" If-Modified-Since"请求标头中的日期。如果文件自该日期以来没有更改,则服务器将使用304 - Not Modified响应进行响应,客户端将使用缓存版本。

答案 1 :(得分:0)

将它放在您通过ajax调用的php文件的顶部:

header("Cache-Control: max-age=1800");
header("Cache-Control: public", false);

这将让浏览器将文件缓存1800秒。

如果您使用的是jQuery,请不要忘记打开缓存属性:

$.ajax({url:"yourfile.php",cache:true})