0

我有以下代码:

$( 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 变量设置不正确。你会说我有一个布尔变量,这应该足够了,但是在尝试获取邮件数据和 usrdata 的数量之前,我遇到了布尔变量的问题。知道这里发生了什么吗?

谢谢并恭祝安康。

4

1 回答 1

0

好吧,ajax 请求是异步的。当您调用时:alert("numcorreo: " + numCorreo);来自服务器的响应尚未到达,它显示初始化值为“0”

于 2013-04-11T08:47:52.453 回答