Javascript Highcharts未使用ajax加载的数组进行渲染
我刚开始使用Highcharts,但已经遇到了一个问题。 我想用来自Ajax调用的数据填充图形,但它只显示一个空白图形 首先,我想向您展示如何获取数据:Javascript Highcharts未使用ajax加载的数组进行渲染,javascript,php,ajax,arrays,highcharts,Javascript,Php,Ajax,Arrays,Highcharts,我刚开始使用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 =
<?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'] . ",";
}
?>
回调函数是我的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时,它只绘制一个没有数据的图形,但当我使用“预填充”数组(如我注释掉的数组)时,它工作得很好
newdata
是一个字符串,当您拆分它时,它的片段就是字符串
“-20,0,0,7,0,0100”。拆分(“,”=[“-20”,“0”,“0”,“7”,“0”,“0”,“100”]
Highcharts需要数字,因此在拆分后,parseInt
将它们拆分为数字:
var rawdata = "-20,0,0,7,0,0,100";
var strdata = rawdata.split(",");
var newdata = []
for (var i = 0; i < strdata.length; i++)
{
newdata.push(parseInt(strdata[i]));
}
var rawdata=“-20,0,0,7,0,0100”;
var strdata=rawdata.split(“,”);
var newdata=[]
对于(变量i=0;i
Fiddle.检查是否通过将数据类型作为对象的ajax发出响应。因为highcharts可以工作,所以响应的数据类型为object 如果它作为字符串返回,则使用
eval(“(“+response+”)如果在创建图表函数中使用console.log(newdata),输出结果是什么?答案已解决,但感谢您尝试帮助我:D
var rawdata = "-20,0,0,7,0,0,100";
var strdata = rawdata.split(",");
var newdata = []
for (var i = 0; i < strdata.length; i++)
{
newdata.push(parseInt(strdata[i]));
}