Zeichnen Sie ein Chart.js mit ajax Daten und reaktionsschnell. Ein paar Probleme und Fragen

Ich bin mit Chart.js (http://www.chartjs.org/docs/) für die Diagrammerstellung.

Ich brauche, um die Daten aus einer Ajax-Anfrage und das Diagramm zu reagieren.

In meinem HTML-code, den ich Hinzugefügt ein Leinwand wie folgt:

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

Und in meinem javascript (JQuery) code, den ich habe:

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 }
  );

});

PROBLEME

  1. Das Diagramm wird nicht geändert auf Fenster Größe ändern.
  2. Ist es besser, code, dies zu tun? Ich glaube, ich wiederhole zu viel code.
  3. In Google die Zeichnung ist schnell. In firefox manchmal hängt es für eine Weile.
    Ist irgendetwas falsch mit meinem code?
  4. Sollte die Anforderung sein, async oder nicht?
Hier ist ein Artikel mit ajax-Daten codepedia.info/2015/04/...

InformationsquelleAutor Miguel Moura | 2013-11-10

Schreibe einen Kommentar