我正在开发 HTML5 移动应用程序。我想使用 jQuery 将特定的 JSON 请求缓存 10 天。我尝试设置cache : true
请求。但我不能在那里指定 10 天。这可能吗?或者我是否需要使用 HTML5 本地存储。
问问题
1156 次
3 回答
2
设置cache: true
应强制浏览器遵循 HTTP 响应中指定的说明。要指定将响应缓存 10 天,您可以从服务器端添加此 HTTP 标头: Cache-Control: max-age=864000
.
于 2012-05-29T00:59:28.953 回答
2
您可以只存储带有日期的 json 数据,这将使您能够在调用服务器进行更新之前查找缓存的数据。
您可以使用 html5 中的本地存储 api。
有关如何使用它的一些想法,您可以查看这个问题。
要知道这是否适用于您的目标移动设备,您可以查看以下内容:
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));
然后您可以检索对象并检查日期并决定是否需要重新加载数据。
我还没有测试过这个,但它应该很接近。
于 2012-05-29T01:16:20.250 回答
0
是不是因为你应该domCache: true
根据文档使用。
于 2012-05-29T00:56:39.363 回答