Php zend framework2中的图表
我正在使用zend framework 2,我想在一些视图中显示图表,但它不起作用!! 这是我的行动:Php zend framework2中的图表,php,jquery,ajax,charts,zend-framework2,Php,Jquery,Ajax,Charts,Zend Framework2,我正在使用zend framework 2,我想在一些视图中显示图表,但它不起作用!! 这是我的行动: public function statvehAction(){ $data = [ 'labels' => ["January","February","March","April","May","June","July"], 'data' => [18,99,30,81,28,55,30] ]; j
public function statvehAction(){
$data = [
'labels' => ["January","February","March","April","May","June","July"],
'data' => [18,99,30,81,28,55,30]
];
json_encode($data);
$viewModel = new ViewModel(array('data' => $data));
return $viewModel;
}
我的看法是:
(函数($){
var ctx=document.getElementById(“图表”).getContext(“2d”);
$.ajax({
类型:“POST”,
url:“VehiclesController.php”,
数据类型:“json”
})
.成功(功能(数据){
变量d={
标签:$data.labels,
数据集:[
{
填充颜色:“rgba(220220,0.5)”,
strokeColor:“rgba(2201)”,
数据:data.data}]};
var条形图=新图表(ctx).条形图(d);
});
})(jQuery);
但是当我想展示我的图表时,我得到了一个没有错误的白色页面!!
请您帮我解决这个问题。这似乎与ZF2没有太大关系,但与前端问题关系更大。渲染源看起来像什么?路由是否匹配,控制器操作是否被调用?例如,确保在控制器操作中打印一些内容,然后调用die。如果您确定该操作被调用,请从那里开始解决问题。首先非常感谢您的帮助:)是的,路线匹配,我使用var_dump打印我在控制器中发送的数据,但我的视图中没有显示图表:/n无问题。您能检查生成的输出是什么吗?它真的是空的还是仍然有标记?显示错误是否打开?可能是由于代码中某个被抑制的错误导致的。不会显示任何错误,只有由于var_dump()而显示我的数据:字符串“{”labels:[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”],“数据”:[18,99,30,81,28,55,30]。(长度=99)您应该阅读更多关于ViewStratergy的信息,以将Json返回到浏览器,因此您的js图表可以工作:使用Zend\View\Model\JsonModel;返回新的JsonModel(['data'=>$data]);
<script src="../../../../jquery.min.js"></script>
<script src="../../../../chart.min.js"></script>
<script>
(function($){
var ctx = document.getElementById("chart").getContext("2d");
$.ajax({
type: "POST",
url: "VehiculesController.php",
dataType: "json"
})
.success(function(data) {
var d = {
labels: $data.labels,
datasets : [
{
fillColor: "rgba(220,220,220,0.5)",
strokeColor: "rgba(220,220,220,1)",
data: data.data }] };
var barChart = new Chart(ctx).Bar(d);
});
})(jQuery);
</script>