Отправьте Chart.js как HTML, а затем выполните рендеринг через ajax - PullRequest
0 голосов
/ 08 сентября 2018

Я хотел бы знать, будет ли возможно отправить HTML (содержащий несколько диаграмм) с помощью метода AJAX, а затем отобразить их. Кажется, мне не очень везет, и я не могу найти много онлайн, делая это с таким подходом. Буду признателен за любой вклад.

Вот моя функция AJAX:

  $.ajax({
      url: "/admin/expensereport/getgraphs",
      type: 'GET',
      data: { dateFrom: $("#dateFrom").val(), dateTo:$("#dateTo").val(),
      expenseBuildingType: $("input[name='expenseBuildingType']:checked").val(),
      expenseScheduledType: $("input[name='expenseScheduledType']:checked").val()},
      cache: false,
      success: function(data) {
        $('#graphsDiv').html(data);
      },

Вот моя функция PHP Laravel с одним из 3 включенных графиков:

$chartCategories = app()->chartjs
                  ->name('chartCategories')
                  ->type('pie')
                  ->size(['width' => 400, 'height' => 200])
                  ->labels(['Label x', 'Label y'])
                  ->datasets([
                      [
                          'backgroundColor' => ['#FF6384', '#36A2EB'],
                          'hoverBackgroundColor' => ['#FF6384', '#36A2EB'],
                          'data' => [69, 59]
                      ]
                  ])
                  ->options([]);


          $view = View::make('partials.CPM.expensereportgraphs', [
                'chartCategories' => $chartCategories,
            ]);

Вот выдержка из моего взгляда:

<div class="col-md-6">
    <h4>Top 10 Categories</h4>
    {!! $chartCategories->render() !!}
  </div>

1 Ответ

0 голосов
/ 09 сентября 2018

Мне удалось решить проблему, выбрав другой маршрут. Я создал диаграммы в файле HTML-страницы, а затем отправил данные через AJAX. Я полагаю, что этот метод на самом деле намного лучше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...