gpt4 book ai didi

javascript - 如何修复我的 EJS 引用错误 : friend(variable) not defined?

转载 作者:行者123 更新时间:2023-12-02 23:27:59 24 4
gpt4 key购买 nike

我正在创建一个名为 makeFriend 的网站。当用户添加好友时,该好友将被保存到数据库中。之后我从数据库中获取数据并将其设置到friends变量中。在 Ejs 文件中,我尝试将 friend 写入屏幕,但收到 EJS 引用错误: friend 未定义。

尽管我在此函数中定义了“ friend ”,但我还是遇到了错误。

        // Friend is the model of my mongo database
Friend.find({}, function(err, friends){
if(err){
console.log(err);
}else{
console.log(friends, {friends: friends});
}
});
res.render("site.ejs");
});

我想将我的网站中的数据显示为列表:

<div class="container jumbotron text-center">
<h1>YOUR FRIENDS WILL BE HERE</h1>
<%friends.forEach(function(friend){%>
<li id="friend"><%= friend.name %> - <%= friend.surname %></li>
<%});%>
</div>

但是我得到了错误:

    15| <div class="container jumbotron text-center">
16| <h1>YOUR FRIENDS WILL BE HERE</h1>
>> 17| <%friends.forEach(function(friend){%>
18| <li id="friend"><%= friend.name %> - <%= friend.surname %></li>
19| <%});%>
20| </div>

friends is not defined
at eval (eval at compile (/home/guney/simpleWebApp/node_modules/ejs/lib/ejs.js:633:12), <anonymous>:22:7)

最佳答案

您的 EJS 程序不会从调用 render 的函数范围继承数据。

您必须显式传递数据:

res.render("site.ejs", { friends });

您还需要在 friend 实际存在的地方执行此操作。请参阅How do I return the response from an asynchronous call? .

关于javascript - 如何修复我的 EJS 引用错误 : friend(variable) not defined?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56647427/

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