JQuery getJSON / PHP返回数据并显示数据

时间:2014-03-04 10:15:13

标签: php jquery getjson

我使用getJSON和PHP登录。

现在所有它都检查用户和密码是否有效,但如果是,我想将更多信息传递给客户。

现在在服务器端我这样做:

if ($result->num_rows) {            
    echo '{"response":{"error": "1"}}';         
} else {
    echo '{"response":{"error": "0"}}';
}

在客户端,我有这个:

if (json.response.error == "1") {
    data = "Welcome "+username;
    alert(data);
} else {
    // Login fail
    data = "Wrong Username/Password";
    alert(data);
}

所以基本上只是检查。

如何将更多信息从服务器传递到客户端?

更新:我已将代码更改为此但现在无效:

服务器:

if ($result->num_rows) {

//echo '{"response":{"error": "1"}}';
$data = array(
'response'     => array(
'error'    => 1,
),
'someData'     => 'data';
);
print json_encode($data);
}

客户端:

$.getJSON("server.php", {username:username,password:password},function(data)
{

alert('hello');
var json = JSON.parse(data);
alert(json.responseCode);


});

2 个答案:

答案 0 :(得分:2)

在服务器端,您可以创建一个包含所需数据的数组,然后使用json_encode()将其从服务器发送到客户端:

$data = array(
    'response'     => array(
        'error'    => 1,
    ),
    'someData'     => 'data',
    ...
);
print json_encode($data);

在客户端:

var json = JSON.parse(data);
alert(json.response.error);

希望它有所帮助!

答案 1 :(得分:1)

你必须使用jQuery.parseJSON(json),其中json是一个结构良好的json字符串。

来自文档:

它需要一个结构良好的JSON字符串并返回生成的JavaScript对象。

所以你必须首先将字符串解析为javascript对象。

var json = $.parseJSON(data); // data is the json string
if (json.response.error == "1") {
   data = "Welcome "+username;
   alert(data);
} else {
   // Login fail
   data = "Wrong Username/Password";
   alert(data);
}