Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将节点数组传递给ejs文件中的JavaScript_Javascript_Node.js_Mongodb_Mongoose_Ejs - Fatal编程技术网

将节点数组传递给ejs文件中的JavaScript

将节点数组传递给ejs文件中的JavaScript,javascript,node.js,mongodb,mongoose,ejs,Javascript,Node.js,Mongodb,Mongoose,Ejs,我想将app.js中的数组从EJS文件传递到JavaScript中。在我的循环函数中,我想将一些数据填充到对象中,以将它们推送到约会日历的JS数组中。但是我不能传递数据。。 以下是我的代码片段: app.js: router.route ('/torauswahl').get(function (req, res) { Buchung.find(function (err, buchungen) { if (err) return res.sen

我想将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]);
        }
var约会=[];
var约会={};
var-buchungArray=;
对于(var i=0;i

在我声明buchungArray的地方,IntelliJ向我显示了一个错误:Expression expected。 我感谢你的帮助! Cheees,Mert将数据转义以插入HTML,但您正在将其插入一个不适用常规HTML转义规则的

您可以使用
获得原始输出

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

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

var buchungArray=JSON.parse(document.currentScript.dataset.buchungen);
//等
将数据转义以插入HTML,但您正在将其插入一个
中,而正常的HTML转义规则不适用

您可以使用
获得原始输出

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

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

var buchungArray=JSON.parse(document.currentScript.dataset.buchungen);
//等

呈现的客户端JS是什么样子的?“在我声明buchungArray的地方,IntelliJ向我显示了一个错误”-嗯,可能它试图将您的EJS模板视为JavaScript…但事实并非如此。代码在呈现并发送到浏览器时是否有效?这是上面的第二个代码部分。否。第二个代码部分显示的是EJS模板,而不是渲染时得到的JavaScript。@Quentin我不知道。。我是学习EJS的新手,必须使用我在app.JS中传递的呈现变量来执行JavaScript。呈现的客户端JS是什么样子的?“我声明buchungArray的地方,IntelliJ向我显示了一个错误”-好吧,可能它正试图将您的EJS模板视为JavaScript…事实并非如此。代码在呈现并发送到浏览器时是否有效?这是上面的第二个代码部分。否。第二个代码部分显示的是EJS模板,而不是渲染时得到的JavaScript。@Quentin我不知道。。我是学习EJS的新手,必须通过在我的应用程序中传递的呈现变量来使用JavaScript。js谢谢你的回答。但我仍然有一个问题,字符串的格式并不像我在上面的评论中说的那样。你知道为什么吗?出于同样的原因,但这并不重要,因为正常的HTML转义规则确实适用于属性值,所以浏览器将在传递到JS的
document.currentScript.dataset.buchungen
时对其进行解码。好的,很好,谢谢!但是我认为我的循环函数有问题,因为我看不到约会对象。。你知道为什么吗?我在浏览器中遇到一个错误:TypeError:null不是一个对象(评估“document.currentScript.dataset”)它正常吗?@MertSilva-不。对我来说很好。谢谢你的回答。但我仍然有一个问题,字符串的格式并不像我在上面的评论中说的那样。你知道为什么吗?出于同样的原因,但这并不重要,因为正常的HTML转义规则确实适用于属性值,所以浏览器将在传递到JS的
document.currentScript.dataset.buchungen
时对其进行解码。好的,很好,谢谢!但是我认为我的循环函数有问题,因为我看不到约会对象。。你知道为什么吗?我的浏览器中出现了一个错误:TypeError:null不是对象(正在评估“document.currentScript.dataset”)它正常吗?@MertSilva-不。对我来说很好。