我使用ajax连接到PHP脚本,然后检索jqplot jQuery图形库所需的图形坐标。如何在PHP中创建一个jqplot数据数组?
问题是,我构建一个合适的PHP数组,然后可以转换成jqplot可以读取的jQuery数组有困难。
下面是检索来自PHP文件中的数组的代码:
$.ajax({
type: 'POST',
dataType: "json",
url: "behind_curtains.php",
data: {
monthSelected: month_option_selected
},
success: function (data) {
var stored_data = data;
alert(stored_data);
}
});
return stored_data;
}
这里是创建jqplot
jQuery.jqplot('chartdiv-data', [], {
title: 'Plot With Options',
dataRenderer: stored_data,
axesDefaults: {
labelRenderer: jQuery.jqplot.CanvasAxisLabelRenderer
},
axes: {
xaxis: {
label: "Day",
},
yaxis: {
label: "data"
}
}
});
,如果您能帮助我建立正确的数据数组的代码在behind_curtains.php文件中,它会很棒!
编辑1 的图形坐标阵列应该在的形式:
[[[1,2],[3,5],[5,13]]]
和基本上我需要以某种方式编写PHP代码,能够输出的数组,以这样的形式存储数据。
由于
解决方案:
* behind_curtains.php *
我放在一起,简单地在形式生成一个字符串数组[[1,2],[3, 5],[5,13]。然后我存储在一个变量字符串,并呼应的形式变量:
echo json_encode($stored_data);
对事物的用户侧,这里是我的代码怎么看起来像:
<script type="text/javascript">
$("document").ready(function() {
$.ajax({
type: 'POST',
dataType:"json",
url: "behind_curtains.php",
data: {
monthSelected: month_option_selected},
success: function(data){
var stored_data = eval(data) ;
/* generate graph! */
$.jqplot('chartdiv-weight', [stored_data], {
title: month,
axesDefaults: {
labelRenderer: jQuery.jqplot.CanvasAxisLabelRenderer
},
axes: {
xaxis: {
label: "Day",
},
yaxis: {
label: "data"
}
}
});
}
});
}
}});</script>
我希望如果没有,有兴趣的人请告诉我。
只是一个提示:你不能在AJAX调用后“返回”数据。当函数返回时'stored_data'将为空。 – Joseph
非常感谢,我摆脱了它:)(我对阿贾克斯很新颖) – Dmitri