我想检查一下用户的存在

时间:2012-04-28 05:11:21

标签: php ajax jquery asp.net-ajax

这是让ajax签出用户存在的表单。

<!DOCTYPE html>

<html>
    <head><title>Register new user!</title>
    <script src="jquery-1.7.1.min.js"></script>
    </head>
    <body>
        Username:
        <input type="text" name="username" id="username"/><span id="user"></span><br/>
        Password:
        <input type="password" name="password" id="password"/><br/>
        <input type="button" value="Register" name="submit" id="submit" onclick="register_user();"/>
    </body>
    <script>
        function register_user()
        {
            $.ajax(
                {
                    type:"POST",
                    data:username,
                    url:"userexists.php"                    
                })
            .fail(function()
                  {
                    $('#user').html("This user already exists");
                  }
            );                
        }
    </script>
</html>

这是userexists.php模块

<?php
    // connection to the db
    define(IPHOST,"localhost");
    define(DBPASSWORD,"");
    define(DBUSER,"root");
    define(DATABASE,"ajaxtest");
    define(TABLENAME,"at");

    $conn=mysql_connect(IPHOST,DBUSER,DBPASSWORD) or die(mysql_error());
    mysql_select_db(DATABASE) or die(mysql_error());
    $username=$_POST('username');
    $sql="SELECT username FROM ".TABLENAME." WHERE username=".$username;
    $query=mysql_query($sql);
    if(0!=mysql_numrows($query))
    {
        //
    }
    else
    {

    }
?>

但是我很难弄清楚ajax函数是如何工作的,例如,在我知道输入的用户名已被使用后,我应该输入空白字段?我根本不懂阿贾克斯。

1 个答案:

答案 0 :(得分:0)

您需要返回一个JSON编码数组(查看http://php.net/manual/en/function.json-encode.php)。它基本上会返回这样的东西:

if(0!=mysql_numrows($query))
    {
        echo '{';
        echo '"myMessage":"'.$username." was found'",';
        echo '"myStatus":"1",';
        echo '}';
    }
    else
    {
        echo '{';
        echo '"myMessage":"'.$username." was NOT found'",';
        echo '"myStatus":"0",';
        echo '}';
    }

然后,你的AJAX处理它是这样的:

    $.ajax({
        type: "GET",
        url: "userexists.php",
        data: dataString,
        dataType: "json",
        success: function(data) {
            if(data.myStatus== 'Y') {
                var msg = data.myMessage;
            }
        }
    });

(我知道这是一个非常广泛的答案,但是使用JSON结果从PHP调用AJAX需要多个段落的答案才能完全理解。如果你有google jquery AJAX GET JSON结果,那么有很多很好的例子)

AJAX成功:/失败:是否AJAX调用成功,它与被调用页面可能返回无关。例如如果您调用的页面不存在,或者代码崩溃,则会触发失败。您的脚本决定返回什么,并且AJAX调用必须才能成功检索该页面发送给您的内容。