从ajax函数外部的ajax调用增加变量

时间:2017-08-27 18:06:31

标签: javascript jquery ajax

我有一个函数来验证检查错误的电子邮件地址,然后增加变量" errorCount"如果发生错误,请加1。我已将电子邮件验证连接到ajax调用,该调用返回输入的电子邮件是否已存在于我的数据库中,但是我无法将变量errorCount添加到ajax函数之外。我怎么能做到这一点?我试过声明变量" errorCount"作为一个没有运气的全球变量。

所有外部代码都有效,以便ajax功能成功,并且我们的电子邮件地址错误都会在触发时显示。我唯一缺少的是将增量变量返回到ajax函数之外,以便errorCount增加。

由于

代码:

var validateEmailAddress = function () {
    var errorCount = 0;

    var emailAddress = $('#email-address');
    var emailAddressConfirm = $('#email-address-confirm');


    if (!isValidEmailAddress(emailAddress.val())) {
        $('#email-address-format-error').show();
        errorCount++;
    }
    if (!isValidEmailAddress(emailAddressConfirm.val())) {
        $('#email-address-confirm-format-error').show();
        errorCount++;
    }
    if (emailAddress.val() != emailAddressConfirm.val()) {
        $('#email-address-match-error').show();
        errorCount++;
    }

    var vars = { email: $('#email-address').val() }
    console.log(vars);

    $.ajax({
        url: "http://localhost:8888/check_email.php",
        data: vars,
        type: "POST",

        dataType: "json",
        success: function (data) {
            console.log(data);

            if (data.emailConfirm === 'true') {
                $('#email-address-match').show();
                errorCount++;


            } 


        } 
    })

    return errorCount;

}

1 个答案:

答案 0 :(得分:-1)

将errorCount变量移到函数validateEmailAddress之外,因为每次调用函数时,此变量都将初始化为0,并且我们无法将异步调用中的变量返回给函数。