使用JSON,将变量从php传递到javascript

时间:2012-09-22 06:13:09

标签: php javascript json

我想知道它为什么不起作用?

check_login.php

<?php
session_start();
$data = array("username" => "true");
echo json_encode($data);
?>

我的js文件 var linkName;

$.ajax({
    type: "POST",
    url: "check_login.php",
    dataType: "json",
    success: function(json){
    if(json.username != "true")
    {
      //do something
    }
    }
});

我正在尝试在检查用户是否已在php文件中登录之后获取用户名,例如传递会话变量。但目前传递一个字符串似乎已经有问题了。谁知道我在这里做错了什么?

仍然没有使用上面的代码。有人想帮帮我吗?

5 个答案:

答案 0 :(得分:4)

您的PHP代码中有错误。第3行不需要方括号]。 当然,你应该使用echo json_encode($ data);

答案 1 :(得分:1)

    `if(json.data.username != "true")` is wrong you do not have data object

    `if(json.username != "true")` try this

答案 2 :(得分:1)

您应该回显json数据,以便使用ajax获取的页面包含字符串数据。

<?php
session_start();
$data = array("username" => "true");
echo(json_encode($data));
?>

$.ajax({
    type: "POST",
    url: "check_login.php",
    dataType: "json",
    success: function(json){
       console.log(json)
    }
});

有时您可能需要将php中标题的内容类型设置为json。

答案 3 :(得分:0)

尝试发送标题

header("Content-Type: application/json", true);
print json_encode($data);

答案 4 :(得分:-1)

 return json_encode($data);

我认为你必须返回数据,而不仅仅是json编码!