使用PHP JSON返回值来在jQuery / JavaScript中做出决策

时间:2011-10-20 16:08:23

标签: php javascript jquery json

一位朋友给了我以下片段:

json : { result: true }
success function(data){
    if(data.result) {
        //do something here
    }
    else {
        //do something here
    }
}

如何将该代码集成到以下代码中:

$(function() {
    $("#action_button").click(function() {
        var username = $("#username").val();
        var password = $("#password").val();
        var dataString = '&username=' + username + '&password=' + password;

        if (username=='' || password=='') {
            $('.success').fadeOut(200).hide();
            $('.error').fadeOut(200).show();
        }
        else {
            $.ajax({
                type: "POST",
                url: "processing/logsig.php",
                data: dataString,
                success: function(){
                    $('.success').fadeIn(200).show();
                    $('.error').fadeOut(200).hide();
                }
            });
        }
        return false;
    });
}

我在PHP端返回JSON true或false值...一旦用户输入用户名和密码,如果用户在数据库中注册,则会记录他/她。如果用户未注册在数据库中,jQuery将为注册过程加载一个不同的表单。

2 个答案:

答案 0 :(得分:1)

success:function(data)是你朋友给你的。您现有的success:function()没有数据参数。那个(数据)是从服务器/ PHP脚本返回的JSON。

“success”表示Ajax成功返回数据,但不表示登录是否成功(用户名和密码是否正确)。如果data.result == successful登录,或者您的PHP JSON包含的任何值,您应该显示您的成功登录。

对于代码帮助,我需要查看返回的JSON。

答案 1 :(得分:0)

看起来该片段会进入您的ajax调用的“成功”功能。您还应该在success函数中包含新参数'data'。

success: function(data){
    $('.success').fadeIn(200).show();
    $('.error').fadeOut(200).hide();
    if(data.result) {
    //do something here
    } 
    else {
    //do something here
    }
}