我想了解AJAX的工作原理。我的代码中存在问题,我认为这是因为AJAX是异步的(尽管可能不是问题的原因)。我在寻求你的帮助,以找出问题所在。
这是我的javascript函数。它调用一个php页面来检查电子邮件是否已经存在于数据库中。
function validateEmail() {
var email = $("#email").val();
var isValid = false;
if (email == "" || email.length == 0) {
$("#emailresult").html("You must enter your email");
isValid = false;
} else if (email.length > 50) {
$("#emailresult").html("Your email cannot have more than 75 characters");
isValid = false;
} else {
$.post("checkemail.php", { email: email }, function(result) {
if (result == 1) {
alert("Inside result==1");
$("#emailresult").html("Valid");
isValid = true;
alert(isValid);
} else {
alert("Inside result != 1");
$("#emailresult").html("Already in use");
isValid = false;
}
});
}
alert(isValid);
return isValid;
}
假设checkemail.php
返回1.我的警报是:
Inside result==1
true
false
因此,最后,即使电子邮件有效,返回的值也始终为false
。有人可以帮我解决这个问题吗?
谢谢!