可能重复:
How to return the response from an AJAX call from a function?
我正在创建一个包含电子邮件ID和密码的注册页面。我在注册页面中调用了onsubmit事件,调用了checkData()函数,该函数写在common.js文件中。我有一个ajax函数来检查数据库中是否存在电子邮件ID?但我的问题是,当我完成检查后我保持警报信息我的ajax功能正常但如果警报被删除它输入数据到数据库。这是ajax的代码
else
{
$(function() {
$.ajax({
url : 'RegCheck.php',
type : 'POST',
data : 'User=' + address,
success : function(result){
if(result != "No")
{
document.getElementById("EmailChk").innerHTML = result;
Valid = false;
}
}
});
});
document.getElementById("MailMand").innerHTML = "" ;
}
alert(Valid);
return Valid;
答案 0 :(得分:1)
ajax不会那样工作。 success
代码将在 {/ 1}}代码后执行 99.9%的时间(如果不是100%的话)。当<{1}}被调用时,您 无法保证 。
相反,您需要在return Valid
回调中完成所有工作,或者( shudder )使其同步。
因此,如果您依赖它进行验证,则需要停止提交表单,然后使用success
方法提交表单。