NodeJS 参考错误:eval时未定义usersWithSecrets(编译/

zqry0prt  于 2023-05-28  发布在  Node.js
关注(0)|答案(1)|浏览(244)

我在尝试这个,但每次我遇到这个错误,我在尝试这个,但每次我遇到这个错误:

ReferenceError: D:\Secrets - Starting Code\views\submit.ejs:8
    6|     <h1 class="display-3">Secrets</h1>
    7| 
 >> 8|     <%usersWithSecrets.forEach(function(user){%>
    9|       <p class="secret-text"><%=user.secret%></p>
    10|       <%})%>
    11| 

usersWithSecrets is not defined
    at eval (eval at compile (D:\Secrets - Starting Code\node_modules\ejs\lib\ejs.js:673:12), <anonymous>:13:7)

App.js编码:

app.get("/secrets", function(req, res){
    User.find({"secret": {$ne: null}}, function(err, foundUser){
      if(err){
        console.log(err)
      } else{
        if(foundUser){
          res.render("secrets", {usersWithSecrets: foundUser});
        }
      }
    });
});

提交.ejs代码:

<% usersWithSecrets.forEach(function(user){ %>
   <p class="secret-text"><%=user.secret%></p>
 <%})%>
w80xi6nr

w80xi6nr1#

我也遇到过同样的问题。所以我创建了一个新的页面,在那里我使用了完全相同的代码,它解决了这个问题。如果我可以解释多一点,我以前有“秘密页”。然后我用完全相同的代码创建了一个secrets2页面。当用户首先登录或注册时,他们将进入“秘密页面”。然后,如果用户选择提交他的秘密,那么在单击提交按钮后,用户将被重定向到secrets2页面,其中所有的秘密将从MongoDB数据库中获取,并将在那里显示,没有任何问题。
这应该能解决你的问题。

相关问题