2012-11-01 25 views
0

无法弄清楚为什么这不起作用。尝试使用JSON中的值创建Highcharts折线图,并且线条拒绝显示。Highcharts折线图不能使用JSON加载的值

这里是JavaScript:

var chart; 
//Highcharts Options 
    var options = { 
     chart: { 
      renderTo: 'chart' 
     }, 
     title: { 
      text: 'Monthly Total' 
     }, 
     xAxis: { 
      categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] 
     }, 
     yAxis: { 
      title: { 
       text: 'Number of Calls' 
      } 
     }, 
     series: [{ 
      type: 'line', 
      name: 'Call Totals', 
      data: [] 
     }] 
    } 
    $.post('/admin/personnel-stats/includes/controller.personnel-stats.php', {'mode' : 'chart', 'persID' : persID, 'year' : year}, 
      function(json) { 
       options.series[0].data = json.data; 
       chart = new Highcharts.Chart(options); 
      } 
    ), 'json'; 

这里是生成JSON的PHP:

public function fetchPersonnelChart($persID, $year) { 
     $fetchChart = $this->memDB->prepare("SELECT c.*, n.* 
              FROM stats_count c 
              LEFT JOIN stats_names n ON c.persID = n.id 
              WHERE c.persID = :id AND YEAR(timestamp) = :year 
              GROUP BY MONTH(timestamp) ORDER BY MONTH(timestamp)"); 
     $fetchChart->execute(array('id' => $persID, 'year' => $year)); 
     $chartResults = $fetchChart->fetchAll(); 

     foreach ($chartResults as $chartResult) { 
      $chartOutput[] = (float)$chartResult['callCount']; 
     } 
     $output = array('data' => $chartOutput); 
     echo json_encode($output); 
    } 
被没有任何问题创造

JSON,最终看起来就像这样: {"data":[10,12,15,13,19,12,12,8,7]}

任何想法,将不胜感激。谢谢!

回答

0

问题是'json'$.post()中的位置..总是有点简单