Laravel 图表使用 Ajax 刷新

问题描述 投票:0回答:2

我正在尝试使用 laravel 图表库在网页(laravel)中实现图表。 目前我能够使用

填充数据
{!! $chart->container() !!} 

在视图中。

我想写一个js函数,每分钟刷新一次图表数据。

在 laravel 图表文档中,他们提供了如下代码,因此它将返回我们需要的值到视图。

chart = new SampleChart;
$chart->dataset('Sample Test', 'bar', [3,4,1]);
$chart->dataset('Sample Test', 'line', [1,4,3]);
return $chart->api();

js

var original_api_url = {{ $chart->id }}_api_url;
{{ $chart->id }}_refresh(original_api_url);

我不明白的是,在哪里使用这些函数以及如何使用这些刷新函数来刷新我的图表? 因此,我们是否必须替换 {{ $chart->id }}_api_url; 的 _api_url 部分?上面提到的js?

我是 Laravel 新手。如果您熟悉使用 laravel 图表,请告诉我如何解决这个问题。

文档网址 https://charts.erik.cat/api_charts.html#building-the-chart

谢谢你。

laravel charts chart.js
2个回答
1
投票

因此,要使用刷新功能,您需要一个控制器,该控制器具有以 json 形式返回数据的方法。

因此创建一个新的控制器方法:

public function chartApi() {
    $chart = new SampleChart;
    $chart->dataset('Sample Test', 'bar', [3,4,1]);
    $chart->dataset('Sample Test', 'line', [1,4,3]);
    return $chart->api();
}

并为其添加路线:

Route::get('chart-data', ['uses' => 'YourController@chartApi']);

然后,在渲染图表视图的控制器中:

$chart = new SampleChart;

$api = url('/chart-data');

$chart->labels(['test1', 'test2', 'test3'])->load($api)

return view('yourview', ['chart' => $chart]);

0
投票

你能帮我解决我在这里提出的这个问题吗?

https://github.com/ConsoleTVs/Charts/issues/16#issuecomment-1664449354

© www.soinside.com 2019 - 2024. All rights reserved.