jQuery Cache JSON请求

时间:2012-05-29 00:51:50

标签: jquery html5 jquery-mobile

我正在开发HTML5移动应用。我想使用jQuery缓存10天的特定JSON请求。我尝试在请求上设置cache : true。但我不能在那里指定10天。这可能吗?或者我是否需要使用HTML5本地存储。

3 个答案:

答案 0 :(得分:2)

设置cache: true应强制浏览器遵循HTTP响应中指定的说明。要指定缓存响应10天,您可以从服务器端添加此HTTP标头:Cache-Control: max-age=864000

答案 1 :(得分:2)

您可以使用日期存储json数据,这样您就可以在调用服务器进行更新之前查找缓存的数据。

您可以在html5中使用本地存储api。

关于如何使用它的一些想法,你可以看看这个问题。

Storing Objects in HTML5 localStorage

要了解这是否适用于您的目标移动设备,您可以查看以下内容:

http://caniuse.com/#feat=namevalue-storage

所以,你可以这样做:

var dtDateTime = new Date();
var intDateTime = dtDateTime.getTime();
var objJSON = {};
objJSON.datetime = intDateTime;
objJSON.data = myjson;
localStorage.setItem('cachedObject', JSON.stringify(objJSON));

然后您可以检索对象并检查日期并确定是否需要重新加载数据。

我没有测试过这个,但它应该很接近。

答案 2 :(得分:0)

是因为您应该根据doc使用domCache: true