Php zend framework2中的图表

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

我正在使用zend framework 2,我想在一些视图中显示图表,但它不起作用!! 这是我的行动:

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>