将Json数据加载到jqPlot中
我有JSON和jqPlot的问题。
jQuery脚本:
var line = [ ]; $(function(){ $.getJSON('bin/gielda.php', function(data) { $.each(data, function (index, value) { line.push(["'"+data[index].data+"'",data[index].kurs_odn]); }); console.log(line); }); $.jqplot('chartdiv', [line], { title :' Giełda', axes : { xaxis : { renderer : $.jqplot.DateAxisRenderer } }, series : [{ lineWidth : 4, markerOptions : { style : 'square' } }] }); });
来自gielda.php的php:
$pdo = new PDO('mysql:host=localhost;dbname=gielda', 'root', ''); $pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = $pdo -> prepare("SELECT data,kurs_odn FROM template WHERE nazwa=?"); $sql -> execute(array("ASSECOPOL")); $gielda = $sql->fetchAll(PDO::FETCH_ASSOC); echo json_encode($gielda);
php文件的结果如下:
[{"data":"2010-08-19","kurs_odn":"55.75"},{"data":"2010-08-19","kurs_odn":"55.75"},{"data":"2010-08-19","kurs_odn":"55.75"},{"data":"2010-08-20","kurs_odn":"56.2"},{"data":"2010-08-20","kurs_odn":"56.2"},{"data":"2010-08-20","kurs_odn":"56.2"}]
变量行的Console.log:
[["'2010-08-19'", "55.75"], ["'2010-08-19'", "55.75"], ["'2010-08-19'", "55.75"], ["'2010-08-20'", "56.2"], ["'2010-08-20'", "56.2"], ["'2010-08-20'", "56.2"]]
和错误: uncaught exception: [object Object]
我可能找到了解决方案。 起初$ .jqplot必须在$ .getJSON里面 – 我忘记了JavaScript中的异步调用代码。
我不必要地在数据[index] .data中添加引号
line.push(["'"+data[index].data+"'",data[index].kurs_odn]);
但我必须添加Number(data [index] .kurs_odn)因为默认情况下是字符串。 现在看起来工作正常。