1

我在将 Flot 条形图从 Ajax 请求更新为返回 JSON 数据的 PHP 脚本时遇到了一些问题。

PHP 脚本是:

$vars = array(
    'result' => "success",
    'msg' => AJAX_SUCCESS,
    'series' => "Group One,80,Group Two,10" 
    );
echo json_encode($vars);

这将返回到变量“系列”

var data = [series.series];

这将输出到控制台:

Group One,80,Group Two,10

我还有一个注释掉的变量,它是:

//var datatwo = [ ["Group One", 80], ["Group Two", 10] ];

这也输出到控制台

Group One,80,Group Two,10

创建图表的实际javascript是

$.plot("#group-month-graph", [data], options);

选项分配在脚本的另一个位置。

我试图弄清楚我做错了什么,因为当我警告返回的数据或将其输出到控制台时,值是相同的,但是返回的数据不会绘制图形,而如果我使用注释掉的值它会。

希望这是有道理的。我已经削减了完整的脚本,因为我认为问题不在其他任何地方。

4

1 回答 1

1

当插件需要一个数组时,您正在返回一个字符串。你应该回来[["Group One",80],["Group Two",10]]

将您的 php 系列结构更改为:

$vars = array(
    'result' => "success",
    'msg' => AJAX_SUCCESS,
    'series' => array(array("Group One",80),array("Group Two",10))
);

此外,您应该使用而不是series使用数组data[data]

$.plot("#group-month-graph", data, options);
于 2013-03-04T03:30:08.350 回答