客户端向服务器端的 php 发送 post 请求。php 返回 json 给客户端。例子:
[["1","-1"],["2","0"],["3","0"],["4","0"],["5","4" ],["6","5"],["7","3"]]
现在从客户端我必须创建图表。我使用 jQuery 插件 jqPlot 和 Flot 创建了图表,但 jqChart 无法正确显示。这是jQuery代码:
if ($jqlib == "flot") {
var d2 = [[0, 3], [4, 8], [8, 5], [9, 13]];
$.post('database2json.php', function(data){
$.plot($("#placeholder"), [d2, data]);
},
'json'
);
} else if ($jqlib == "jqchart") {
$.post('database2json.php', function(podaci){
$('#placeholder').jqChart({
title: { text: 'Chart Title'},
series: [
{
type: 'line',
data: podaci
}
]
});
});
}
使用该代码,Flot 用线条绘制图表,jqChart 绘制图表但没有线条,它是空图表。
如何解决这个问题呢?
EDIT1:这是 jqChart 输出的屏幕截图:
在 x 轴上,它按预期从 1 绘制到 31,y 轴也可以,但没有线。
EDIT2:@DraganMatek,提到 jqChart 接受对值 [x, y],其中 x 是字符串、日期或数字,y 是数字。
在数据库中有两列,类型为 int。
在服务器端获取这些数据的 PHP 代码是:
$result = mysql_query("select Dan, Temperatura from TEMPERATURA");
$niz = array();
while ($row = mysql_fetch_array($result)) {
$niz[] = array($row['Dan'], $row['Temperatura']);
}
$obj = json_encode($niz);
echo $obj;
我不明白为什么在作为 json 发送后它同时是 x 和 y 字符串。也许我可以在客户端解析这个?
EDIT3:我在客户端检查了 Firebug,我得到了这个:
[["1","-1"],["2","0"],["3","0"],["4","0"],["5","4" ],["6","5"],["7","3"],["8","2"],["9","2"],["10","1" ],["11","-2"],["12","-2"],["13","0"],["14","1"],["15"," -2"],["16","-1"],["17","-1"],["18","-2"],["19","-1"],[ "20","3"],["21","-1"],["22","0"],["23","1"],["24","3"], ["25","1"],["26","1"],["27","-1"],["28","-1"],["29","4"],["30","5"],["31","5"]]
为什么会这样?进入数据库有两个整数。