使用PHP发回json值时出现意外错误
我正在使用Ajax将一些数据从服务器端代码PHP发回客户端,这就是它的工作方式使用PHP发回json值时出现意外错误,php,jquery,ajax,Php,Jquery,Ajax,我正在使用Ajax将一些数据从服务器端代码PHP发回客户端,这就是它的工作方式 //server side $json="{ "payout_history":"0", "round_shares":"1816", "workers": { "jbo.5970": { "alive":"1", "hashrate":"1253" }, "jbo.5970cpu": { "alive":"1"
//server side
$json="{
"payout_history":"0",
"round_shares":"1816",
"workers":
{
"jbo.5970":
{
"alive":"1",
"hashrate":"1253"
},
"jbo.5970cpu":
{
"alive":"1",
"hashrate":"21"
},
"jbo.5970-2":
{
"alive":"1",
"hashrate":"1062"
}
}
}";
echo json_encode($json);
我在firebug的响应页面中遇到了这个错误,我无法找出它的错误
<br />
<b>Parse error</b>: syntax error, unexpected 'payout_history' (T_STRING) in
<b>C:\xampp\htdocs\exercise5json\display.php</b> on line <b>38</b><br />
分析错误:语法错误,中出现意外的“支出历史记录”(T_字符串)
第38行的C:\xampp\htdocs\exercise5json\display.php
您没有正确嵌套引号。您需要将JSON字符串括在单引号中,而不是双引号中:
$json = '{"myTag":"myData"}';
或者更好—将数组创建为PHP数组,并使用
json\u encode()
为您生成json。更简单的方法是将数据设置为array
并将其传递给,如:
代码中的问题存在于使用引号设置
$json
字符串的方式
请查看有关使用引号的PHP文档:
不过,正如@Sudhir早些时候所说的,最好有一个数组并输出JSON
@Computernerd:Read,在json_encode()调用ajax以使用exit或die之后。在这种情况下,您可以调用ajax。
$json = array(
"payout_history" => 0,
"round_shares" => 1816
....
);
echo json_encode($json);
// Outputs: Arnold once said: "I'll be back"
echo 'Arnold once said: "I\'ll be back"';
$json = array(
"payout_history" => 0,
"round_shares" => 1816
// ....
);
header("Content-Type: application/json");
echo json_encode($json);