Ich extrahiere Daten aus einer CSV-Datei mit d3.csv und leite sie in ein ejs.Lesen von Daten in .ejs aus einer CSV in node.js
d3.csv("http://vhost11.lnu.se:20090/assig2/data1.csv", function(data) {
var data1 = data;
console.log(data1[0]);
app.get('/doctor', isLoggedIn, function(req, res) {
res.render('doctor.ejs', {
user : req.user,
datap1 : data1
});
});
});
Die Konsole zeigt die korrekte Ausgabe an. In dem EJS, nenne ich das gleiche von
<%= datap1[0]%>
und es zeigt [object object] Was ich hier falsch mache?
Ich denke, console.log Konvertiten mit JSON.parse analysieren kann Objekt an eine Zeichenfolge übergeben. Ähnlich können Sie z. B. datap1: JSON.stringify (data1) verwenden. – Dario
hat nicht funktioniert. zeigt nichts ... –
Um Ihre Frage zu beantworten: [Objekt-Objekt] bedeutet, dass auf Ihrem Objekt .toString() aufgerufen wurde und dies ist es ausgegeben. Da das Objekt nicht überschrieben wird, wurde .toString() standardmäßig Object.prototype.toString() aufgerufen. Ejs hat nur das wiedergegeben, was du geliefert hast. Sie sollten toString() oder besser in Ihrem Fall überschreiben, um richtig Daten in z. Zeichenfolge vor dem Übergeben an ejs. – Dario