我有一个简单的 HTML 表单。我正在尝试使用 javascript 对表单进行一系列验证。
$("#sign_in_form").submit(function(event){
event.preventDefault();
if(check_validity()){
console.log("valid");
return true;
} else {
console.log("invalid");
return false;
}
console.log("end of function");
});
现在check_validity()
是一个耗时的功能。它检查数据库中的数据,然后以 true 或 false 进行回复。但是上面的功能似乎并没有等待check_validity
完成并运行else
语句,在检查有效性完成之前。
我该如何解决?可能使用回调函数可以解决这个问题。但是如何使用回调接收返回值?
function check_validity(){
$.post("http://xxxx.com/check_if_user_exists",
{email: $("#contact_person_email").val()},
function(data){
if(parseInt(data) == 1)
return false;
else
return true;
});
}