1

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

check_login.php

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

我的 js 文件 var 链接名;

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

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

仍然无法使用上面的代码。有人想在这里帮助我吗?

4

5 回答 5

4

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

于 2012-09-22T06:16:52.947 回答
1
    `if(json.data.username != "true")` is wrong you do not have data object

    `if(json.username != "true")` try this
于 2012-09-22T06:19:27.767 回答
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。

于 2012-09-22T06:19:35.473 回答
0

尝试发送标头

header("Content-Type: application/json", true);
print json_encode($data);
于 2014-02-15T21:17:08.550 回答
-1
 return json_encode($data);

我认为您必须返回数据,而不仅仅是对其进行 json 编码!

于 2012-09-22T06:17:08.683 回答