来自php mysql的Highcharts drilldown json

时间:2018-03-11 09:26:26

标签: php mysql json highcharts drilldown

当我将json数据从下面的硬编码javscript更改为从php mysql解析时,为什么我无法使我的Highcharts深入工作?

代码如下

json source在java脚本中硬编码工作

drilldowns = {
              name: 'Animals',
              data: [
                     ['Cows', 2],
                     ['Sheep', 3]
                    ]
             },

当我从以下php代码调用json时它不会

<?php

$ret = array();
$mtbf = array();
$mtbf['name'] = "Animals";

$mtbf['data'] = array(
    array( 'Cows', 2),
    array( 'Sheep',3) );

array_push($ret,$mtbf);
echo json_encode($ret);

?>

我结合了json的两个来源,以便轻松解决问题和下面的工作

$.get("/drilldown.php?name=" +e.point.name,  function(data) {

    drilldowns = {
            name: 'Animals',
            data: [
                ['Cows', 2],
                ['Sheep', 3]
            ]
    },

    series = drilldowns;

  alert(series);

    chart.addSeriesAsDrilldown(e.point, series);

});

但是,如果我从钻取到数据更改为系列,则无法正常工作

series = data; 

非常感谢任何帮助

根据评论 控制台记录数据如下

[{"name":"Animals","data":[["Cows",2],["Sheep",3]]}]

钻取日志的控制台日志

Object {name: "Animals", data: Array(2)}

1 个答案:

答案 0 :(得分:0)

我设法通过添加标题以及对数组赋值的小调整来解决问题,并且深入工作。

<?php
  header("Content-Type: application/json");

  $mtbf = array();
  $mtbf['name'] = "Animals";
  $mtbf['data'] = array(array( 'Cows', 2),array( 'Sheep',3));

  //var_dump($mtbf);

  //array_push($ret,$mtbf);

  echo json_encode($mtbf);

  ?>