Dessinez un fichier Chart.js avec des données ajax et réactif. Quelques problèmes et questions

Je suis en utilisant Chart.js (http://www.chartjs.org/docs/) pour la cartographie.

J'ai besoin d'obtenir les données à partir d'une requête Ajax, et le diagramme d'être réactif.

Dans mon code HTML, j'ai ajouté une toile comme suit:

<div>
  <canvas id="userscreated" class="plot" data-url="/stats/userscreated"></canvas>
</div>

Et dans mon javascript (JQuery) code j'ai:

var data2;

$.ajax({
  url: $('#userscreated').data('url'),
  async: true,
  dataType: 'json',
  type: "get",
}).done(function (data) {

    data2 = data;

    //Draw chart
    var context = $('#userscreated').get(0).getContext("2d");
    var wrapper = $('#userscreated').parent();
    var width = $('#userscreated').attr('width', $(wrapper).width());

    new Chart(context).Line(
    {
      labels: data.Dates,
      datasets: [
        { fillColor: #404040, data: data.Users }
      ]
    },
    { animation: false }
  );

});

//Redraw the chart with the same data
$(window).resize(function () {

  var context = $('#userscreated').get(0).getContext("2d");
  var wrapper = $('#userscreated').parent();
  var width = $('#userscreated').attr('width', $(wrapper).width());

  new Chart(context).Line(
    {
      labels: data2.Dates,
      datasets: [
        { fillColor: #404040, data: data2.Users }
      ]
    },
    { animation: false }
  );

});

PROBLÈMES

  1. Le graphique n'est pas en cours de redimensionnement de la fenêtre de redimensionnement.
  2. Est-il mieux de code pour faire cela? Je pense que je suis en répétant à beaucoup de code.
  3. Dans Google le dessin est rapide. Dans firefox, parfois il se bloque pendant un certain temps.
    Est quelque chose de mal avec mon code?
  4. La demande doit être asynchrone ou pas?

Merci,
Miguel

source d'informationauteur Miguel Moura