Maison > Questions et réponses > le corps du texte
J'essaie d'envoyer des données de mon serveur Nodejs vers mon HTML à l'aide d'ejs. Mais le problème est que je n'arrive pas à lire les variables dans le script.
Serveur Nodejs :
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, }); } ); }); };
J'ai besoin de lire les événements en HTML comme ceci :
var events = <%= events %>
Mais j'obtiens une erreur de console indiquant que l'événement n'existe pas. Avez-vous une idée sur la manière de résoudre ce problème ou de le faire fonctionner différemment ?
J'ai essayé de créer le div et de l'attribuer directement mais sans succès.
P粉8912379122023-09-08 13:03:03
Vous semblez utiliser res.render
将 events
正确传递到您的 ejs 视图,因此,如果您确信 events
已填充并且如果您没有任何数据库错误,则可以像这样访问 events
objets dans un tableau :
<ul> <% events.forEach(function(event) { %> <li> Start: <%= event.start %> | End: <%= event.end %> </li> <% }); %> </ul>