源代码:
creatMember=function ($setting) {
var $email=$setting['email']?$setting['email']:0;
var $password=$setting['password']?$setting['password']:'';
var $userid='';
$.ajax({
type: "post",
url: "/mod_member/registerAjax.php?action=register",
dataType:"json",
data:{type:'ajax',email:$email,password:$password},
success: function(datas, textStatus){
eval(datas);
if((datas.status==1)&&datas.userid){
$userid=datas.userid;
}else if(datas.status==2){
messageManage({message:datas.message});
}else if(datas.status==0) {
messageManage({message:datas.message});
}
},
error:function(datas){
messageManage({message:'error!'});
}
});
if($userid)return $userid;
}
用以上代码死活得不到$userid的值,原因是这是异步方式去请求连接,当执行return的时候请求的地址还没有返回东西,所以会是空,应该让其成同步的方式,所以得加上:
async:false
成功后的代码如下:
creatMember=function ($setting) {
var $email=$setting['email']?$setting['email']:0;
var $password=$setting['password']?$setting['password']:'';
var $userid='';
$.ajax({
type: "post",
url: "/mod_member/registerAjax.php?action=register",
dataType:"json",
async:false,
data:{type:'ajax',email:$email,password:$password},
success: function(datas, textStatus){
eval(datas);
if((datas.status==1)&&datas.userid){
$userid=datas.userid;
}else if(datas.status==2){
messageManage({message:datas.message});
}else if(datas.status==0) {
messageManage({message:datas.message});
}
},
error:function(datas){
messageManage({message:'error!'});
}
});
if($userid)return $userid;
}