您的位置:首页 > Web前端 > JavaScript

js利用window对象缓存变量

2017-03-16 18:26 155 查看
项目中要验证网点是否是合法网点,但系统网点很多,如果每次验证都请求后台,会很慢。

解决方法是利用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"。缓存中没有再请求后台,获取之后将值缓存起来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: