获取变量的值存在于ajax中

时间:2014-02-19 11:05:15

标签: jquery ajax

我想验证电子邮件,这有什么不对。 返回false不起作用

$.validator.addMethod("email_exist", function(value, element, arg){
    var x = 0;
    $.ajax({
        url: '../signup/validateemail.php',
        type: 'post',
        data: 'email_address='+value,
        cache:false,
        success: function(response) { 
            if(response == 0){
                x++;
            }
        }
    });
    alert(x);
    if(x > 0){
        return false;
    }else{
        alert('yeh');
        return true;
    }
    return true;
 },'');

2 个答案:

答案 0 :(得分:1)

你做 asynk call.So在你的情况下,首先执行alert(x),然后代码成功函数。 您可以执行此请求synk(async:false)或成功更改代码

答案 1 :(得分:1)

它不会返回false,因为ajax方法是异步的,它不会等待成功事件发生。您可以通过

使ajax同步
async: false

但这不是一个好方法。它也将冻结浏览器

Refer this