利用它jquery.data,方法缓存数据
发现了个好方法 $.data(element,key,value) 可以缓存数据。
问题描述:比如在页面中操作某种功能,该功能需要ajax提交数据并得到响应结果。如果没有利用缓存,那么在每次重复操作该功能时,就需要不断的从后台获取数据,要命的是请求是一样的,那么响应的数据也就一样。这样一来,就增加了服务器的负担了。
解决办法:利用$.data()缓存数据,那么遇到相同的请求时,就不需要服务器再次响应,而只从jquery的缓存数据中获取就行了。
在实际项目中,我就是利用这个方法进行处理的。为此我封装了一个异步请求方法:
/* *url:请求的路径 */ function getAjaxData(id, url,type) { if (id == null || id == "null") return false; var key = id + url; if ($("body").data(key) == null) //查找存放的数据 { if (type == null) type = "post"; $.ajax({ url: url, data: {id:id}, type: type, dataType: "json", async: false, success: function (data) { $("body").data(key, data); } }); } return $("body").data(key); //返回数据 }
为了避免key相通,我在方法中把key设置成id与url连接字符串。这个方法其实还可以再扩展,因为它目前提交的数据只有一个。
- 上一篇 »Java 利用Map实现缓存
- 下一篇 »jQuery 数据操作函数