我使用 jquery 验证来验证电子邮件。但是在success函数中改变了值的变量在它之外是不可访问的。可以使用 async=false 来完成,但这会破坏 Ajax 的目的。
下面是代码:
$.validator.addMethod('verifyemail',function(value,element){
$.ajax({
type: "POST",
url : $.app.urls('base_url')+'account/check_email',
data: {'email' : value},
success: function(msg){
//If email exists, set response to true
if( msg.status == 'false' )
respond = false;
else
respond = true;
}
})
console.log(respond);
return respond;
}, "Email is Already Taken");