Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JSON,将变量从php传递到javascript_Php_Javascript_Json - Fatal编程技术网

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

使用JSON,将变量从php传递到javascript,php,javascript,json,Php,Javascript,Json,我想知道为什么它不起作用 检查_login.php <?php session_start(); $data = array("username" => "true"); echo json_encode($data); ?> 在检查用户是否已在php文件中登录后,我尝试获取用户名,类似于传递会话变量。但目前传递字符串似乎已经有问题了。知道我做错了什么吗 仍然无法使用上面的代码。有人想帮我吗?您的PHP代码中有一个错误。第3行中不需要方括号]。 当然,您应该使用echo js

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

检查_login.php

<?php
session_start();
$data = array("username" => "true");
echo json_encode($data);
?>
在检查用户是否已在php文件中登录后,我尝试获取用户名,类似于传递会话变量。但目前传递字符串似乎已经有问题了。知道我做错了什么吗


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

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

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

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

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

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

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

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

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

    `if(json.username != "true")` try this
<?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)
    }
});

$.ajax({
类型:“POST”,
url:“check_login.php”,
数据类型:“json”,
成功:函数(json){
console.log(json)
}
});

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

您应该回显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)
    }
});

$.ajax({
类型:“POST”,
url:“check_login.php”,
数据类型:“json”,
成功:函数(json){
console.log(json)
}
});

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

尝试发送标题

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

尝试发送标题

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

在chrome或mozilla中打开控制台以查看console.log这通常是通过右键单击webbrowser中的任意位置,然后选择inspect element来完成的。之后,您将找到一个名为console的选项卡,其中显示日志。您是否尝试登录以检查_login.php并查看该页面显示了什么???在chrome或mozilla中打开控制台以查看console.log这通常是通过在webbrowser中的任意位置单击鼠标右键,然后选择inspect元素来完成的。之后,您会发现一个名为console的选项卡,其中显示日志。您是否尝试登录并查看该页面显示了什么???return不会回显输出Turn不会回显输出您应该使用Firefox Firebug之类的工具或Google Chrome中的开发者工具检查服务器的响应。这样你就可以看到服务器是否输出了任何东西。你应该使用Firefox的Firebug或Google Chrome中的开发者工具等工具来检查服务器的响应。通过这种方式,您可以查看服务器是否输出任何内容。