Laravel-将数据Ajax返回到Charts视图

时间:2019-04-08 03:26:15

标签: ajax laravel charts

我正在使用laravel应用程序,我的问题是我想使用ConsoleTv / Charts用ajax输出Chartjs视图。 这是我的代码: 路线:

Route::get('month/{month}','AjaxController@getMonth')->middleware('ajax');

控制器

public function getMonth($month){

        if ($request->ajax()) {

            $sql = Ticket::select('name')
                ->selectRaw('count(id) as status1')
                ->whereMonth('Date','=',$month)->get();

            $labels = $sql->pluck('name');
            $values = $sql->pluck('status1');

            $month = new Charts();
            $month->title('Title');
            $month->labels($labels);
            $month->dataset('Tiket', 'bar',$values);

            return json_encode(compact('month'));

        }

Ajax:

$('.secCharts').on('change', function (e) {
        var optionSelected = $("option:selected", this);
        var valueSelected = this.value; 
        var month= 4;
        if(valueSelected == 1){
        $.get('month/'+month,function(data){
                console.log(data);
                $('#bar-charts').html(data);
            }); 
        }
    });

我的问题是如何将数据变量推入视图:

<div id="bar-charts" class="box-content">
    {!! $month->container() !!}
</div>
{!! $month->script() !!}

任何帮助,不胜感激!非常感谢!

1 个答案:

答案 0 :(得分:1)

请参阅此example

此字段在您的代码中错误 您必须调用该函数

            $('#bar-charts').html(data);

你有足够的

此部分已使用

var getData = function() {  $.ajax({
url: 'https://jsonplaceholder.typicode.com/posts/' + postId + '/comments',
success: function(data) {
  // process your data to pull out what you plan to use to update the chart
  // e.g. new label and a new data point

  // add new label and data point to chart's underlying data structures
  myChart.data.labels.push("Post " + postId++);
  myChart.data.datasets[0].data.push(getRandomIntInclusive(1, 25));

  // re-render the chart
  myChart.update();
}

}); };