我正在创建一个Web应用程序,在该应用程序中,我将两个数据发送到ejs文件,并且在加载页面时可以正常工作,因为数据显示了我希望它在页面上的显示方式,但是当我提交发布路由后出现参考错误,它说我传入的数据未定义。
我在javaScript中的路由文件:
router.get("/journal/new", isLoggedIn, function(req, res){
Goal.find({}, function(err, meansGoals){
if(err){
res.render("dailyJournal");
} else {
Goals.find({}, function(err, goals){
if(err){
res.render("dailyJournal");
} else {
res.render("dailyJournalNew", {meansGoals: meansGoals, goals: goals});
}
});
}
});
});
//post journal
router.post("/journal", isLoggedIn, function(req, res){
Journal.create(req.body.journal, function(err, journal){
if(err){
res.render("dailyJournalNew");
} else {
journal.author.id = req.user._id;
journal.author.username = req.user.username;
journal.save();
res.redirect("/journal");
}
});
});
该页面准确加载了我想要的MeansGoals和目标数据的信息,但是当我提交“新闻”时,它表示MeanGoals尚未定义。
ReferenceError: /home/ec2-user/environment/views/dailyJournalNew.ejs:52
50| <input id="editbutton" class="btn btn-outline-danger" type="submit" value="Save my Journal!">
51| <% var count = 0 %>
>> 52| <% for(i = 0; i < meansGoals.length; i++){ %>
53| <% if(currentUser.username === meansGoals[i].author.username){ %>
54| <% if(count === 0){ %>
55| <% count++ %>
meansGoals is not defined
如果您需要更多背景信息,请询问。我已经坚持了一段时间,非常感谢您的帮助!谢谢
答案 0 :(得分:0)
这意味着if(err)
中的router.post("/journal"
条件已激活。您没有在此处传递meansGoals
。