Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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
使用PHP发回json值时出现意外错误_Php_Jquery_Ajax - Fatal编程技术网

使用PHP发回json值时出现意外错误

使用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"

我正在使用Ajax将一些数据从服务器端代码PHP发回客户端,这就是它的工作方式

//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);