标签显示但数据不显示
我正在开发代码以从远程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]"
}
]
在所有情况下,所需数据不显示,但名称显示正确。
我不知道为什么,我在这里读了一些线程,但没有成功。应该做些什么来确保数据与标签一起显示?
从
$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);
变更给出: “[{”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
但现在的方式。无内容显示。 – Danard
@Danard:我刚编辑,尝试用'返回json_encode($数据,JSON_NUMERIC_CHECK);' –
你能为你提供HTML你可以重写你的代码是怎样的?什么是'data.message'? – t3mplar