我想知道它为什么不起作用?
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文件中登录之后获取用户名,例如传递会话变量。但目前传递一个字符串似乎已经有问题了。谁知道我在这里做错了什么?
仍然没有使用上面的代码。有人想帮帮我吗?
答案 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编码!