Изменение размера Google Chart с параметрами - PullRequest
0 голосов
/ 06 декабря 2018

У меня небольшая проблема.Я звоню в свою базу данных и возвращаю некоторые данные.Затем я передаю этот ответ моей функции Google Chart

$(function () {
    $.ajax({
        type: "POST",
        url: "php/process.php",
        dataType: "json"
    }).done(function(response) {

        google.charts.load('current', {'packages':['corechart']});
        google.charts.setOnLoadCallback(function() { drawChart(response); });

    }).fail(function(jqXHR, textStatus) {
        return false;
    });
});

Все это прекрасно работает.Проблема в том, чтобы сделать его отзывчивым.Согласно тому, что я видел в Интернете, для этого я могу просто добавить функцию изменения размера

$(window).resize(function(){
    drawChart();
});

Однако, это не будет иметь данных из моего ответа.Каков наилучший способ получить данные из моего Ajax-запроса в функцию изменения размера?

Спасибо

1 Ответ

0 голосов
/ 06 декабря 2018

Во-первых, оператор Google load будет ждать загрузки страницы по умолчанию.
, который можно использовать вместо -> $(function () {});, $(document).ready и т. Д. *
это толькоНужно вызывать один раз для загрузки страницы, поэтому сначала вызовите его.

тогда вы можете использовать следующую настройку ...

google.charts.load('current', {
  packages:['corechart']
}).then(function () {

  $.ajax({
    type: "POST",
    url: "php/process.php",
    dataType: "json"
  }).done(function(response) {

    drawChart(response);
    $(window).resize(function(){
      drawChart(response);
    });

  }).fail(function(jqXHR, textStatus) {
      return false;
  });

});

примечание: вы можете использовать обещание, которое возвращает оператор load,
вместо -> setOnLoadCallback

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