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