gpt4 book ai didi

javascript - 将 Node 数组传递给 ejs 文件中的 JavaScript

转载 作者:行者123 更新时间:2023-12-01 00:16:27 24 4
gpt4 key购买 nike

我想将数组从 app.js 传递到 EJS 文件中的 JavaScript。在我的循环函数中,我想将一些数据填充到对象中,以将它们推送到约会日历的 JS 数组中。但我无法传递数据..这是我的代码片段:

app.js:

router.route ('/torauswahl').get(function (req, res) {

Buchung.find(function (err, buchungen) {
if (err)
return res.send(err);

res.render('torauswahl',{
buchungen: JSON.stringify(buchungen)
});
});
});

还有我的 EJS 中的 JS:

var appointments = [];
var appointment = {};
var buchungArray = <%=buchungen %>;

for(var i=0; i < buchungArray.length; i++) {
var monat = 1 + buchungArray[i].from.getMonth();
var von = -1 + buchungArray[i].from.getHours();
var vonMin = buchungArray[i].from.getMinutes();
var bisMonat = 1 + buchungArray[i].from.getMonth();
var bis = -1 + buchungArray[i].to.getHours();
var bisMin = buchungArray[i].to.getMinutes();

if (bisMin === 0) {
bisMin = bisMin + "0";
}
if (vonMin === 0) {
vonMin = vonMin + "0";
}

appointment[i] = {
calendar: buchungArray[i].tor,
start: new Date(buchungArray[i].from.getDate(), monat, buchungArray[i].from.getDay(), von, vonMin, 0),
end: new Date(buchungArray[i].to.getDate(), bisMonat, buchungArray[i].to.getDay(), bis, bisMin, 0)
}
appointments.push(appointment[i]);
}

在我声明 buchungArray 的地方,IntelliJ 向我显示错误:需要表达式。我感谢任何帮助!干杯,默特

最佳答案

<%=buchungen %>转义数据以插入 HTML,但您将其插入 <script>正常的 HTML 转义规则不适用。

您可以使用 <%- buchungen %> 获得原始输出.

您的 IDE 仍然可能会提示,因为它试图像处理纯 JavaScript 一样处理您的 EJS 模板。您可能希望将数据存储在其他位置,例如 data属性。

<script data-buchungen="<%=buchungen %>">
var buchungArray = JSON.parse(document.currentScript.dataset.buchungen);
// etc
</script>

关于javascript - 将 Node 数组传递给 ejs 文件中的 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59732788/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com