前端巧用localStorage做“缓存”,减少HTTP请求次数

场景:

载入某个页面,JS需要通过ajax请求获取某些数据

那么每次刷新页面都会有请求,如果这些数据对实时性要求并不高,显然这样做并不可取。

如何减少服务端的压力,使用localStorage可以解决此问题。

//假设id是区分于其他的要储存的k值的一部分。
var flag=0,k=null,v_arr=[],v_time=0,v='';
var cday = new Date().getDate();
var k = window.localStorage.getItem('name_'+id);
if(k !== null) {
   v_arr = k.split("@");
   v_time = v_arr[1];
   //一天过期
   if(cday != v_time) {
    flag = 1;
   } else {
    flag = 2;
    v = v_arr[0];
    //取到v的值,直接做该做的事情。
   }
  
}
if(flag < 2) {
  //发起请求
  $.ajax(
    xx,
    xxx,
    success:function(data) {
       //存储data有效值。
       window.localStorage.setItem('name_'+id,data.id+'@'+new Date().getDate()); 
       
//取到v的值,直接做该做的事情。

    });


}
posted @ 2018-04-21 09:54  黑默  阅读(482)  评论(0编辑  收藏  举报