我正在尝试使用 ejs 将数据从我的 Nodejs 服务器发送到我的 html。但问题是我无法读取脚本中的变量。
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,
});
}
);
});
};
我需要像这样读取 html 中的事件:
var events = <%= events %>
但我收到控制台错误,表明事件不存在。知道如何解决这个问题或者如何让它以不同的方式工作吗?
我尝试创建 div 并直接分配,但没有成功。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
您似乎使用
res.render将events正确传递到您的 ejs 视图,因此,如果您确信events已填充并且如果您没有任何数据库错误,则可以像这样访问events数组中的对象:<ul> <% events.forEach(function(event) { %> <li> Start: <%= event.start %> | End: <%= event.end %> </li> <% }); %> </ul>