我正在使用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() !!}
任何帮助,不胜感激!非常感谢!
答案 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();
}
}); };