标签显示但数据不显示

标签显示但数据不显示

问题描述:

我正在开发代码以从远程Ajax获取数据,但无法显示所需的数据。标签显示但数据不显示

但是标签的名称已正确显示。

从远程,在PHP我这样的:

for ($i = $start; $i <= $end; $i = $i + 86400) { 
    $SQDate  = date('Y-m-d', $i); 
    $PMS_ci  = $this->getPMS_ci_status($SQDate); 
    $PMS_co  = $this->getPMS_co_status($SQDate); 
    if($PMS_ci["sum"] == "") 
     $PMS_ci["sum"] = "0"; 
    if($PMS_co["sum"] == "") 
     $PMS_co["sum"] = "0"; 
    $arrival[] = $PMS_ci["sum"]; 
    $departure[]= $PMS_co["sum"]; 
} 
$data[]  = array("name" => "Arrival", "data" => join($arrival,",")); 
$data[]  = array("name" => "Departure", "data" => join($departure,",")); 

return JSON_encode($data); 

端JavaScript:

retour = JSON.parse(data.message); 
Highcharts.chart('container', { 
    chart: { 
     type: 'spline' 
     }, 
    .../... 
    , 
    series: [{name: retour[0].name ,data: retour[0].data}, 
      {name: retour[1].name, data: retour[1].data}], 
    navigation: { 
    .../... 

数据的内容返回此:

[ 
    { 
     "name":"Arrival", 
     "data":"[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,0,0,0,0,0,0,0,0,0,0,0]" 
    }, 
    { 
     "name":"Departure", 
     "data":"[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,0,0,0,0,0,0,0,0,0,0]" 
    } 
] 

在所有情况下,所需数据不显示,但名称显示正确。

我不知道为什么,我在这里读了一些线程,但没有成功。应该做些什么来确保数据与标签一起显示?

+0

你能为你提供HTML你可以重写你的代码是怎样的?什么是'data.message'? – t3mplar

$data[]  = array("name" => "Arrival", "data" => join($arrival,",")); 
               ^
              No need of join, json_encode 
              takes care of it 

$data[]  = array("name" => "Arrival", "data" => $arrival); 

而且你的JSON成为

[{"name":"Arrival","data":"[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,0,0,0,0,0,0,0,0,0,0,0]"},{"name":"Departure","data":"[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,0,0,0,0,0,0,0,0,0,0]"}] 
         ^
         Should be array not string 

[{"name":"Arrival","data":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,0,0,0,0,0,0,0,0,0,0,0]},{"name":"Departure","data":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,0,0,0,0,0,0,0,0,0,0]}] 

及以下

for ($i = $start; $i <= $end; $i = $i + 86400) 
    { 
      $SQDate  = date('Y-m-d', $i); 
      $PMS_ci  = $this->getPMS_ci_status($SQDate); 
      $PMS_co  = $this->getPMS_co_status($SQDate); 

      $arrival[] = $PMS_ci["sum"]+0; 
      $departure[]= $PMS_co["sum"]+0; 
    } 

     $data[]  = array("name" => "Arrival", "data" =>$arrival); 
     $data[]  = array("name" => "Departure", "data" => $departure); 

     // Return to caller (since PHP 5.3.3) 
     // and from caller do echo 
     return json_encode($data,JSON_NUMERIC_CHECK); 
+0

变更给出: “[{”name“:”Arrival“,”data“:[”0“,”0“,”0“,”0“,”0“,”0“,”0“, “0”, “0”, “0”, “0”, “0”, “0”, “0”, “0”, “2”, “3”, “0”, “0”,“0 ”, “0”, “0”, “0”, “0”, “0”, “0”, “0”, “0”]},{ “名称”: “出发”, “数据”:[ “0”, “0”, “0”, “0”, “0”, “0”, “0”, “0”, “0”, “0”, “0”, “0”,“0 ”, “0”, “0”, “0”, “2”, “3”, “0”, “0”, “0”, “0”, “0”, “0”, “0”, “0”,“0”,“0”]}]“ – Danard

+0

但现在的方式。无内容显示。 – Danard

+0

@Danard:我刚编辑,尝试用'返回json_encode($数据,JSON_NUMERIC_CHECK);' –