Highcharts を使い始めたばかりですが、すでに問題が発生しています。Ajax 呼び出しからのデータでグラフを埋めたいのですが、空白のグラフしか表示されません。
まず、データを取得する方法をお見せしたいと思います:
<?php
require_once("mysql_config.php");
$query = "SELECT temp FROM daten ORDER BY daten.id DESC LIMIT 0,6";
$answer = mysqli_query($mysqli,$query);
$row;
while($row = $answer->fetch_array()){
echo $row['temp'] . ",";
}
?>
この出力は次のようになります: -20,0,0,7,0,0,100
そして私のAJAX関数:
function ajax(website, element, callback) {
var http = null;
var http = new XMLHttpRequest();
var url = website;
if(http!=null){
http.open("POST",url,true);
http.onreadystatechange = function(){
if(http.readyState == 4){
var text = http.responseText;
callback(text, element);
}
}//Ende readychange
http.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
http.send();
}//Ende if(http2!=null)
}//Ende Funktion
コールバックは私の create_chart 関数です
function create_chart(rawdata, element){
newdata = rawdata.split(",");
//var newdata = [-20,0,0,7,0,0,100];
var chart = new Highcharts.Chart({
chart: {
type: 'line',
renderTo: 'test'
},
title: {
text: 'Testchart'
},
subtitle:{
text: 'Subtitle'
},
xAxis: {
categories: ['A','B','C','D','E','F','G']
},
yAxis: {
title: {
text: 'This is it'
}
},
series: [{
name: "Test",
data: newdata
}]
});
}
問題は、ajax を使用している間はデータなしでグラフを描画するだけですが、「事前に入力された」配列 (コメントアウトしたものなど) を使用すると正常に動作することです。