0

使用$.ajax({..})我从服务器接收 XML 文件的内容。所以我不必每次页面加载时都请求这个文件,如果可能的话,我想在本地缓存这个内容,将它保存在磁盘上的文件中。但是以这样的方式缓存它,即使在第二天重新启动后它也可以使用。XML 文件内容每天更新,因此无需如此频繁地重新发送文件。

是否可以?如果是这样,我该如何实现?你能提供一个链接或一些示例代码吗?我一直在寻找我能理解的好东西,但我没有成功。

4

2 回答 2

2

你需要这个

http://brian.io/lawnchair/

于 2012-09-03T17:29:55.670 回答
1

默认情况下,浏览器通常会根据服务器设置文件头的方式为您缓存响应。如果您需要除此之外的持久性,您可以使用本地存储和可能的 cookie 来支持旧版支持(尽管在存储方面存在非常实际的大小限制)。

使用本地存储很简单。您还可以使用过期时间戳让客户端知道何时更新缓存。

一个准系统示例:

var mydata = { foo: 'bar' };
var cache = {
    data: mydata,
    expires: new Date().getTime()
}

sessionStorage.setItem("cache", JSON.stringify(cache));

并获取数据:

var cache = JSON.parse( sessionStorage.getItem("cache") );
if ( cache.expires + day < new Date().getTime() ) {
    // get a fresh copy
} else {
    var mydata = cache.data;
}

如果您更熟悉更高级别的 API,则可以使用许多本地缓存抽象。

于 2012-09-03T17:39:14.843 回答