这是我今天挣扎着:如何将json从php传递给jqPlot的javascript?
我想绘制一个使用jqPlot库的图。 sql查询输出的数据通过使用json_encode
在php中转换为json并保存在隐藏表单字段中。这工作得很好,实际字段包含:
[["2011-12-10 12:01:00",271],["2011-12-10 12:13:05",132],["2011-12-11 12:17:55",388],["2011-12-10 22:03:40",5],["2011-12-11 12:10:54",830]]
然后从表单中的数据会以JavaScript通过检索:
var data = document.getElementById("dataarray").value;
为了用它作为jqPlot数据以后。 该data
变量的格式是否正确,并且当与JSON格式document.write(data);
,输出正确的数据,但每当检查我将其放置在plot1
变量内部使用的数据,它抛出在Safari Firefox中的错误[object Object]
和Uncaught #<Object>
的曲线图。
整个javascript代码如下:
$(document).ready(function(){
var data = document.getElementById("dataarray").value;
var test = [["2011-12-10 12:01:00",271],["2011-12-10 12:13:05",132],["2011-12-11 12:17:55",388],["2011-12-10 22:03:40",5],["2011-12-11 12:10:54",830]];
var plot1 = $.jqplot("chart_personal_2", [data], {
title:"Data Point Highlighting",
axes:{
xaxis:{
renderer:$.jqplot.DateAxisRenderer,
numberTicks: 3,
tickOptions:{
formatString:"%d/%m/%Y %H:%M:%S"
}
},
yaxis:{
label: "Elevation(m)",
tickOptions:{
showMark: true
}
}
},
highlighter: {
show: true,
sizeAdjust: 7.5
},
cursor: {
show: false
}
});
});
我甚至尝试output = String(data);
,但它也不能工作。 我假设我的data
变量是一个不能用作jqPlot图形的源数据的对象,它需要在使用前转换为字符串?如我错了请纠正我。
希望有人知道如何解决没有,在此先感谢!
谢谢你,将它转换为数组解决了问题。我确信jqPlot也能够处理字符串,如果它是JSON格式的,但我可以看到我错了。 – 2011-12-13 18:32:53