Ajax不需要的结果显示

时间:2012-08-23 12:31:46

标签: php jquery ajax

这是来自登记表。此功能验证用户名是否可用。

jQuery的:

    /* Verifies if the username is available */
    $.post('functions/usernameDisponibility.php',{usernamePHP:username},function(disponibility)
    {
            $('.usernameErrors').text(disponibility);

    if(disponibility==true)
    {
        $('#username').css('border-color','#00ff00');
    }else
        {
            $('#username').css('border-color','red');
            $('.usernameErrors').text('Username unavailable');
        }
    });

PHP:

    if(isset($_POST['usernamePHP'])&&!empty($_POST['usernamePHP']))
{
    $username = $_POST['usernamePHP'];

    $Connect = mysql_connect('localhost','root','');
                mysql_select_db('phplogin');

    $query= mysql_query("SELECT * FROM users WHERE username = '$username'");

    $result= mysql_num_rows($query);

    if($result==1)
    {
        echo false;
    }else
    {
        echo true;
    }
}

问题在于错误显示。当disponibility!= true时,它显示“Username unavailable”,但是当它为true时显示“1”。我的猜测是“1”来自PHP脚本,但即使我这样做:

            if(disponibility==true)
        {
            $('#username').css('border-color','#00ff00');
            $('.usernameErrors').text('');
        }else

“1”仍然很快显示,然后它被文本('')替换。我怎么办“1”根本不显示?

1 个答案:

答案 0 :(得分:0)

因为这个:

$('.usernameErrors').text(disponibility);

在进行任何检查之前,您正在输出“disponibility”变量的内容。删除该行