创建一个由jqplot正确评估的数组时遇到问题。 如果我这样尝试,我有一个x轴范围从-5到95,但使用正确的线。 实际上我希望x轴的图表从0到30。
使用firebug我可以用typeof检查params是一个对象(数组)。 失败在哪里?
这是我的getPlotData.php,其中包含一些虚拟数据:
$temp = array();
for( $i=0; $i<30; $i++ ){
$temp[] = "[" . $i . "," . ($i*5) . "]";
}
$return['line'] = "[" . implode(',', $temp . "]";
die(json_encode($return));
这是我的ajax函数,它调用createPlot-function:
$.ajax({
type: "GET",
dataType: "json",
url: "getPlotData.php?rand=" + new Date(),
data: data,
cache: false,
success: function(data) {
var params = eval(data['line']);
createPlot(params);
}
});
function createPlot(params){
plot1 = $.jqplot('plot_data', [params], {
series:[{showMarker:true}],
markerOptions: { style:'circle' },
axesDefaults:{
tickRenderer: $.jqplot.CanvasAxisTickRenderer ,
tickOptions: {
fontSize: '14px',
textColor: "#fff"
}
},
axes:{
xaxis:{
labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
label:'Tag',
tickOptions:{
},
labelOptions: {
fontSize: '13pt',
textColor: '#FFFFFF'
}
},
yaxis:{
label:'Anzahl',
labelRenderer: $.jqplot.CanvasAxisLabelRenderer,
tickOptions:{
},
labelOptions: {
fontSize: '13pt',
textColor: '#FFFFFF'
}
}
}
});
答案 0 :(得分:0)
目前您正在使用implode
和json_encode
。我想,手动创建JSON可能会在输出中产生某种错误。 (就像对JSON数据进行双重编码一样。)
如果您只先将数据添加到数组然后再添加json_encode
整个数据集,它应该可以工作。
<?php
$temp = array();
for( $i=0; $i < 30; $i++ ) {
$temp[] = array( $i, $i*5 );
}
$return['line'] = $temp;
die( json_encode( $return ) );