javascript - 将 Json 数据加载到 jqPlot 中

标签 javascript jquery 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"]]

和错误:未捕获的异常:[object Object]

最佳答案

我可能找到了解决方案。 起初 $.jqplot 必须在 $.getJSON 中 - 我忘记了 JavaScript 中的异步调用代码。

我在 data[index].data 中添加了不必要的引号

line.push(["'"+data[index].data+"'",data[index].kurs_odn]); 

但我必须添加 Number(data[index].kurs_odn) 因为默认情况下它是字符串。 现在看起来工作正常。

关于javascript - 将 Json 数据加载到 jqPlot 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3535680/

相关文章:

javascript - 从链接调用 google maps v3 中的事件监听器

javascript - 过滤和排序 JavaScript 数组

JavaScript 问题 : setTimeout

jquery - jqplot 极 map 和雷达图的最佳替代品

javascript - JSON 数据数组不是 JQPlot.js 的有效返回

javascript - jqPlot 饼图渲染但抛出错误并且表现得很奇怪?

javascript - 如何使文本框只接受 0-10 之间的数字,并且只接受小数部分的 0.5?

javascript - 如何比较值并从 firebase 实时数据库中删除?

JQuery、jssha 和 SHA512 - 如何调用函数

javascript - 在鼠标悬停在下一个元素上时隐藏事件 div