js利用window对象缓存变量

来源:互联网 发布:获取dota2 数据api 编辑:程序博客网 时间:2024/05/17 03:56

项目中要验证网点是否是合法网点,但系统网点很多,如果每次验证都请求后台,会很慢。

解决方法是利用window缓存变量。代码如下:

deptCodeIsExist : {   //网点是否合法validator : function(value, param) {var key='deptCode'+value;var isExist = null;// 网点长度小于4,不通过验证if((value+'').length<4){return false;}// 把网点缓存起来,避免多次请求后台if(window[key]){if(window[key]=='true'){return true;}return false;}$.ajax({type : "POST",url : contextPath+ "/omcs/russian/department/deptCodeIsExist.pvt",data : {"deptCode" : value},dataType : "json",async : false,success : function(data) {isExist = data.msg;}});window[key]=isExist; return isExist=='true';},message : '网点代码不存在!'},
window[key]就相当于window.key对象,每次验证之前先if(window[key])看该网点是否已缓存,如果缓存,判断其值是否为"true"。缓存中没有再请求后台,获取之后将值缓存起来。

0 0