我有以下代码:
$( document ).ready(function() {
$("#btnRegister").click(function() {
var errorVal=false;
var numCorreo=0;
var numAlias=0;
$.ajax({
url : "./php/auxChkUser.php",
type : "POST",
data : {alias : $("#txtRegisterAlias").val()},
success: function(data){
alert("usrdata: " + data);
if(data>0) {
numAlias=data;
alert("<?=$lng->frmRegisterErrorUser; ?>");
errorVal=true;
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("Status: " + textStatus); alert("Error: " + errorThrown);
errorVal=true;
}
});
$.ajax({
url : "./php/auxChkMail.php",
type : "POST",
data : {correo : $("#txtRegisterCorreo").val()},
success: function(data){
alert("maildata: " + data);
if(data>0) {
numCorreo=data;
alert("<?=$lng->frmRegisterErrorCorreoExiste; ?>");
errorVal=true;
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert("Status: " + textStatus); alert("Error: " + errorThrown);
errorVal=true;
}
});
alert("numcorreo: " + numCorreo);
alert("numalias: " + numAlias);
alert(errorVal);
if(!errorVal) $("#frmRegister").submit();
});
});
此代码生成此输出:
maildata: 1
The mail already exists
usrdata: 1
The alias already exists
numcorreo: 0
numalias: 1
true
问题是numCorreo变量未正确设置。你会说我有一个布尔变量,应该是应该但是我在尝试获取maildata和usrdata的数量之前我遇到了布尔变量的这个问题。关于这里发生什么的任何想法?
谢谢和问候。
答案 0 :(得分:0)
嗯,ajax请求是异步的。当您致电:alert("numcorreo: " + numCorreo);
来自服务器的响应尚未到达,并显示初始化值“0”