這是我今天掙扎着:如何將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