Ich habe keine Probleme beim Erstellen von Visualisierungen aus statischen Datasets mit ChartJS, aber wenn ich Daten über einen AJAX-Aufruf verwendet, wird die Visualisierung nicht gerendert. Es werden keine Fehler ausgegeben und meine Daten sind identisch aufgebaut.ChartJS mit AJAX-Aufruf zum Abrufen von Daten rendern keine Visualisierung
Hier ist mein javascript:
var ctx = $('#myChart');
function drawDonut(){
$.ajax({
method: "GET",
url: "url",
contentType: "application/json",
success: function(data){
var myDoughnutChart = new Chart (ctx, {
type: 'doughnut',
data: data,
animation:{
animateScale:true
}
});
}
});
}
$(document).ready(function() {
drawDonut();
});
Hier ist, wie die AJAX-Daten aufgebaut ist:
var data = {
labels: ['red', 'blue', 'green', 'orange', 'yellow'],
datasets: {
data: [12, 15, 17, 19, 202],
}
}
Ich habe versucht, einschließlich var ctx sowohl innerhalb der 'drawDonut' Funktion und außen, wie dargestellt. Ich habe 'drawDonut' als Variable gespeichert und habe sie getrennt aufgerufen. Keine funktionierte. Irgendwelche Gedanken?
EDIT:
vergessen zu erwähnen, dass die iframe von ChartJS an den DOM angehängt wird, nur nicht das eigentliche Diagramm.
Sind Sie sicher, dass Anruf Ihre Ajax synchron? – tektiv
Ich bin nicht, aber ich habe versucht, es sowohl mit $ (Dokument) .ready und auf einem Klick Ereignis Post-Seite laden, nur um zu sehen, ob das das Problem war - es ist nicht. – DGaffneyDC