Javascript highcharts实时更新和YII框架
我必须用海图和海图显示一些传感器数据 我使用YII作为php框架。 我在mysql v5.6中将时间存储为timestamp3,我需要毫秒分数 我想使用它,因为我的数据几乎都在一秒钟或两秒钟内 我的控制器将我作为输出 [2012-12-01 15:00:00.070,45] 但是这一点没有显示在我的图表中,ajax请求只发出了一次 我得到了firebug在var series=chart.series[0]级别的错误, 我不知道问题是在我的highchart代码中还是在时间格式中 我也不知道在收到点后如何在代码中使用Dateparse 请帮忙Javascript highcharts实时更新和YII框架,javascript,highcharts,Javascript,Highcharts,我必须用海图和海图显示一些传感器数据 我使用YII作为php框架。 我在mysql v5.6中将时间存储为timestamp3,我需要毫秒分数 我想使用它,因为我的数据几乎都在一秒钟或两秒钟内 我的控制器将我作为输出 [2012-12-01 15:00:00.070,45] 但是这一点没有显示在我的图表中,ajax请求只发出了一次 我得到了firebug在var series=chart.series[0]级别的错误, 我不知道问题是在我的highchart代码中还是在时间格式中 我也不知道在
function requestData() {
$.ajax ({
type:"get" ,
url: "<?php echo CController::createUrl('beam/GetSensorsDataLive') ?>",
data: {"beamId" : "<?php echo $modelBeam['poutre_id'] ?>" },
dataType: "json",
success: function(response,point) {
var series = chart.series[0], //// error here
shift = series.data.length > 20;// shift if the series is longer than 20
chart.series[0].addPoint( point,true, false); // add the point
setTimeout(requestData, 1000); // call it again after one second
},
cache: false
});
}
$(document).ready(function() {
var chart;
chart = new Highcharts.Chart({
chart: {
renderTo: 'graph',
type: 'spline',
events: {
load: requestData
}
},
xAxis: {
type: 'datetime',
},
tooltip: {
formatter: function() {
return '<b>'+ this.series.name +'</b><br/>'+
Highcharts.dateFormat('%H:%M:%S:%m', this.x) +'<br/>'+
Highcharts.numberFormat(this.y, 2);
}
},
series: [{
name: 'Live Data From sensor <?php echo $modelBeam['poutre_id'] ;?> ',
data:[]
}]
});
});
您的数据x应该是以毫秒为单位的JS时间戳,您还可以从php解析数据并使用Date.UTC函数 你得到了Firebug的错误。。。您实际收到的错误消息是什么?当前的问题是图表变量在该范围内不可见。将函数requestData移到$document.readyfunction{}块内,这样它就可以访问chart.hi!真的非常感谢,你救了我我现在看不到firebug中的所有请求,但是如果不更新我的数据库,该点仍然没有如图所示正常显示,请求应该始终获得相同的点并显示它,我在图表的中心获得点,但在我的情况下,看起来有很多点没有显示。非常感谢