Heim > Fragen und Antworten > Hauptteil
Ich versuche, Daten von meinem NodeJS-Server mithilfe von EJS an meinen HTML-Code zu senden. Das Problem ist aber, dass ich die Variablen im Skript nicht lesen kann.
Nodejs-Server:
exports.getIndex = (req, res, next) => { var alert = req.query.msg; // connect to your database mssql.connect(config, function (err) { if (err) console.log(err); var request = new mssql.Request(); request.query( "SELECT startDate, endDate from Reservations", function (err, recordset) { if (err) console.log(err); events = []; recordset.recordset.forEach((element) => { reserv = {}; reserv.start = element.startDate; reserv.end = element.endDate; events.push(reserv); }); res.render("index", { alert: alert, events: events, }); } ); }); };
Ich muss Ereignisse in HTML wie folgt lesen:
var events = <%= events %>
Aber ich erhalte eine Konsolenfehlermeldung, die besagt, dass das Ereignis nicht existiert. Irgendeine Idee, wie man das beheben kann oder wie man es anders funktionieren lässt?
Ich habe versucht, das Div zu erstellen und es direkt zuzuweisen, aber ohne Erfolg.
P粉8912379122023-09-08 13:03:03
您似乎使用 res.render
将 events
正确传递到您的 ejs 视图,因此,如果您确信 events
已填充并且如果您没有任何数据库错误,则可以像这样访问 events
数组中的对象:
<ul> <% events.forEach(function(event) { %> <li> Start: <%= event.start %> | End: <%= event.end %> </li> <% }); %> </ul>