我有一个函数来验证检查错误的电子邮件地址,然后增加变量" 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;
}
答案 0 :(得分:-1)
将errorCount变量移到函数validateEmailAddress之外,因为每次调用函数时,此变量都将初始化为0,并且我们无法将异步调用中的变量返回给函数。