Ich versuche ein highchart in jade (mit javascript) mit JSON-Daten von node.js zu bevölkern. Ich tue dies, indem du JavaScript in Jade hinzufügen, das funktioniert gut mit statischen Daten wie unten dargestellt:express json objekt in highcharts
var series = [
{
name: 'Tokyo',
data: [7.0]
}
];
Jetzt habe ich JSON-Daten von node.js. hinzufügen möchten I umgesetzt folgend:
app.get('/chart', function(req,res){
var chartData = [
{
name: 'Tokyo',
data: [7.0]
}
];
res.render('chart', {
chart: chartData
});
});
Wenn I Chartdata in der Konsole zu drucken, die Ausgabe ist das gleiche wie die statischen Daten. Wenn ich (in jade)
var series = '#{chart}'
setze, bekomme ich ein leeres highchart.
Das Problem scheint der JSON von Knoten js zu sein. Highcharts gibt so viele Serien wie es Zeichen gibt, was bedeutet, dass jade/javascript das JSON nicht korrekt analysiert, sondern Zeichen für Zeichen (jedes Zeichen ist ein neues Objekt). Ich habe chartData
von node.js meiner Konsole gedruckt, zeigt folgendes:
[ { name: 'Tokyo', data: [ 7 ] } ]
Ich habe versucht, JSON.stringify
in meinem Knoten js-Datei, aber diese gibt ungültige JSON wie folgt:
var series = '[{"name":"Tokyo","data":[7]}]';
Wie kann Ich bekomme mein Diagramm mit dem von node.js zurückgegebenen JSON arbeiten?
Danke für den Versuch, aber ich habe schon versucht, diese und ich bekomme die Ausgabe von meiner Frage, Single letzter Satz. – Raymond
Tun Sie einfach eine res.json oder res.send nur mit dem Json-Objekt dann – theaccordance
Interessanter Ansatz. Wie kann ich meine Jade-Seite beim Senden von res.json rendern? – Raymond