【发布时间】:2016-12-13 13:47:36
【问题描述】:
伙计们,我正在尝试在我的 .ejs 文件中呈现 MongoDB 记录,但是,我在路由结束之前 console.log 变量并且我得到了预期值,但是,如果在 .ejs 文件中变得未定义
下面是代码:
router.get("/new",function(req,res){
var selectedMake;
console.log("Welcome to new make route!");
Make.find({},function(err,result){
if(err){
console.log("an error occured while fetching the data");
}else{
if(req.query.id){
Make.findById(req.query.id,function(err,foundMake){
console.log("found the query string");
selectedMake = foundMake;
console.log(selectedMake); // renders expected value when passing valid ID in the query string
})
}
res.render("vehicles/newvehiclemake",{selectedMake: selectedMake, makes:result,modelId: req.query.id});
}
})
});
这里是使用变量 selectedMake 的 .ejs 摘录:
<% if (!typeof selectedMake == undefined) { %>
<% selectedMake.models.forEach(function(model){ %>
<tr><td><%= model.name %></td></tr>
<% }) %>
<% }else { %>
<tr><td>No Models available for the selected Make</td></tr>
<% } %>
感谢您的意见,并提前致谢。
【问题讨论】:
标签: javascript node.js mongodb mongoose ejs