loggedIn() {
//return !!localStorage.token
var result = {status:false,message:null};
$.ajax({
url:'/api/get_login_info',
type:'get',
async:false,
success:function(data){
console.log(data,'1');
result.status=data.is_success;
result.message=data.message;
}
});
return result;
},
比如上面这段代码写成模块AUTH,
如果引用的话,怎么取到里面的result.status的值呢?
这样?AUTH.loggedIn().result.status?
我怎么感觉这个需要采用回调函数的形式呢?题主的方法能行的通吗?
嗯 AUTH.loggedIn().result.status这样也是可以的,但是建议还是使用@guanpunba的方式。再给下建议,return result放到success方法里面去会比较好,否则若你的请求是异步的话,result将返回空
var obj = loggedIn();
console.log(obj.status);
同步 Ajax 会阻塞啊,各位亲们
最好是改为异步,传入回调
loggedIn(callback) {
//return !!localStorage.token
var result = {status:false,message:null};
$.ajax({
url:'/api/get_login_info',
type:'get',
success:function(data){
console.log(data,'1');
result.status=data.is_success;
result.message=data.message;
callback(result)
}
});
},
调用:
AUTH.loggedIn(function(result){
console.log(result)
})