本文共 1267 字,大约阅读时间需要 4 分钟。
工作中经常使用的,其实也可以把get和save改成其他方式如cookie、sessionStorage等
//缓存类function cacheHandler() { this.data = {}; this.lifeTime = 3600*24; //默认缓存一天 this.setLifeTime = function(lifeTime) { this.lifeTime = lifeTime; }; this.save = function(name, value, lifeTime) { this.data[name] = { expire: new Date().getSeconds() + (parseInt(lifeTime) || this.lifeTime), value: value }; return this.data[name]['value']; }; this.get = function(name) { if (this.data[name] == undefined || this.data[name]['expire'] < new Date().getSeconds()) return undefined; return this.data[name]['value']; }; this.getOrSave = function(name, value, lifeTime) { return this.get(name) == undefined && this.save(name, value, lifeTime); }; this.clear = function(name) { name ? delete this.data[name] : this.data = {}; };}//测试var cache=new cacheHandler();//实例化个全局缓存对象$(document).ready(function(){ $("#data").click(function(){ var cache_data=cache.get("cache_data"); if(cache_data){ //缓存中有直接取 否则发ajax请求 //处理结果 }else{ $.ajax({ url: "list.php", type: 'get', dataType: "json", success: function (data) { //console.log(JSON.stringify(data)); cache.save('cache_data', data); //处理结果 }, error: function(data, textStatus, errorThrown){ //请求失败要操作的 } }); } })})
转载地址:http://bodrj.baihongyu.com/