2010-09-01 90 views
0

对不起noob问题。我读过几个问题,无法解决我的问题。我似乎无法加载数据。加载JSON时出现Jquery Flot问题

我有一个PHP脚本输出以下json代码。

{label: "load",data:[[1283294013*1000, 2.03],[1283293998*1000, 2.04],[1283293983*1000, 2.06],[1283293968*1000, 1.99],[1283293953*1000, 1.98],[1283293937*1000, 1.98],[1283293922*1000, 1.97],[1283293907*1000, 1.97],[1283293892*1000, 1.96],[1283293877*1000, 1.95],[1283293862*1000, 2.03]]} 

用下面的选项

var options = { 
    legend: { 
     show: true, 
     margin: 10, 
     backgroundOpacity: 0.5 
    }, 
    lines: { show: true }, 
    xaxis: { 
     mode: "time", 
     timeformat: "%H:%M" 
    }, 
    yaxis: { min: 0, }, 
    grid: { hoverable: true } 
    }; 

实际脚本如下所示

var plotArea = $("#plotArea"); 
    plotArea.css("height", "450px"); 
    plotArea.css("width", "800px"); 

    $.getJSON("getStats.php", function(data) { 
     alert(data); 
     $.plot(plotArea , data, options); 
    }); 

警报不会加载在所有。使用FireBug,我可以看到数据已返回,但没有任何反应。

当使用以下代替时,数据通过。警报运行并且图形上没有显示任何图形。

$.get("getStats.php", function(data) { 
     alert(data); 
     $.plot(plotArea , data, options); 
    }); 

我能得到这个只包括在代码中getStats.php时运行,但是这不是真的是我拍摄的。

回答

1

JSON数据不能包含数学运算(在你的情况下乘法运算)。发送已计算的值而不是表达式。

+0

我试图修改的结果,已经计算的时间。输出如下 {label:“load”,data:[[1283298376000,1.01],[1283298361000,1.01],[1283298346000,1.02],[1283312642600000,1.08],[1283312627600000,1.10]]} 即使返回了上述内容,getJSON部分仍然无法正常工作。例如,结果会返回,但警报不会运行。 – ScrewzLuse 2010-09-01 03:48:25

0

也是我希望的最后3个字符,看起来像]]}]},

+0

哎呀,对不起。我其实只是错误地复制了它。有 ]]}。我解决了这个问题。谢谢。 :-) – ScrewzLuse 2010-09-01 03:18:23