如何从PHP返回数据以在jQuery(ajax)中使用?

时间:2012-12-29 07:46:21

标签: php javascript jquery ajax

我必须处理一个简单的登录文件。在许多Web教程中,我已经读过,对于jquery中的任何Ajax请求,回调函数是function(data),而data是由服务器端脚本返回的。

好吧,我的服务器端脚本是PHP。我想知道如何从PHP返回数据,这些数据将存储在jquery的data中,我可以使用条件循环来处理它们。

这是我的jquery代码:

$('#loginform').submit( function() {
        var querystring = $(this).serialize();
        $.post('login.php', querystring, processLI );
        function processLI(data) {
            if (data == 'success'){
            alert("Successful");
            var url = "game.php";    
            $(location).attr('href',url);
            }
            else 
                alert ('Login Failed');
        }

我在我的php文件中使用简单的return语句,这似乎根本不起作用。这是login.php文件。我刚刚在这里发布了必要的部分。

$statement = $connection->prepare("SELECT * FROM users WHERE username = '$username'");
    $statement->execute(array());
    $result = $statement->fetch(PDO::FETCH_ASSOC);

    if ($result['password'] == $safepass) {
        setcookie("Login", true);
        echo 'success';

    }
    else 
        echo "Failure";

5 个答案:

答案 0 :(得分:2)

尝试这样做,将函数作为参数,而不是通过调用函数。

$('#loginform').submit( function() {
    var querystring = $(this).serialize();
    $.post('login.php', querystring, function(data){
        if (data == 'success') {
            alert("Successful");
            var url = "game.php";    
            $(location).attr('href',url);
        }
        else 
            alert ('Login Failed');
    });

答案 1 :(得分:1)

如果登录成功echo 'success';

,请使用echo语句输出数据

答案 2 :(得分:1)

这是关于如何调试AJAX请求的答案。首先,使用Chrome(或安装了Firebug插件的Safari或Firefox),然后从设置菜单中打开开发人员工具。在网络面板中,您可以看到请求/响应。这可能不是直接的答案,但请 - 尝试使用Chrome开发人员工具和“Net Panel”查看请求/响应/ Cookie /标题。

这将为您省去不必猜测的麻烦,它会逐字显示您的回复。然后你可以在下次解决它;)和

之后的时间

您是否能够看到请求/回复?如果没有,我建议一个简单的

alert(JSON.stringify(data)) 
如果您在使用Chrome调试程序时遇到问题,请从回调函数中

....

答案 3 :(得分:0)

尝试将postType的dataType作为'html'

答案 4 :(得分:0)

$('#loginform').submit( function() {
    var querystring = $(this).serialize();
    $.ajax({
        url : 'login.php?'+querystring, 
        cache : false,
        success : function(data) {
            if(data == "success") {
                alert("Successful");
                var url = "game.php";    
                $(location).attr('href',url);
            } else if(data == "failure") {
                alert("Login Failed");
            }
        };
    });
});