Ich versuche mit Handlebars einige Daten anzuzeigen, die von einer MySQL-Abfrage zurückgegeben werden. Die Route sieht wie folgt aus:Das Rendern von MySQL führt zu Express/Node.js: Kann der Nur-Lese-Eigenschaft '_locals' nicht zuweisen
var query = "SELECT col1, col2, col3 FROM table WHERE section >= " + start + " AND section <= " + end + " ORDER BY col1 ASC";
connection.query(query, function(err, result) {
if (err) throw err
var data = JSON.stringify(result);
console.log(data);
res.render('text', data);
});
‚data‘ sieht genau wie ich es will, mit einer Reihe von Objekten, die die drei Säulen und die richtigen Werte haben. Der entsprechende Abschnitt meiner Lenker wie folgt aussieht:
{{#each data}}{{data.col2}}{{/each}}
Und dann, wenn ich versuche, die Seite zu laden, bekomme ich folgende Fehler (ich kann mehr zeigen, wenn es helfen würde):
TypeError: Cannot assign to read only property '_locals' of <and then my array of objects followed by a stack trace>
I Ich glaube nicht, dass ich etwas darüber verstehe, wie die MySQL-Abfrage zurückgegeben wird.
Ok ersetzt, so dass mein Ergebnis ist nun ein namenlos Array von RowDataPacket wie so: '[RowDataPacket {col1: 1 , Spalte2: 'Lorem', Spalte3: ''}, RowDataPacket {Spalte1: 2, Spalte2: 'Ipsum', Spalte3: ''}, RowDataPacket {Spalte1: 3, Spalte2: 'dol oder ', col3:' '}, RowDataPacket {col1: 4, col2:' sitzen '', col3: ','} ' Wenn ich dies an Lenker als" Ergebnis "übergeben, wie schleife ich es über? {{jedes Ergebnis}} {{result.col2}} {{/ each}} funktioniert nicht. – Kramhsiri