我在node js中使用express框架。 对于页面渲染,我使用ejs。 在下面的路径中给出了我通过了3个可变的医生标题或登录用户ID
router.get('/doctors/:id',passportConf.isAuthenticated, function(req,res,next){
Doctor.find({category:req.params.id})
.populate("category")
.exec(function(err, doctors){
if (err) return next (err);
res.render('main/doctor', {doctors: doctors, title:'doctors', id: req.user._id})
})
});
现在的问题是,当我像这样访问这些变量时,我得到了变量数据
<%= doctors[i]._id%> or <%= title %> or <%= id%>
但是当我在声明中访问这些变量数据时,id数据什么也没给出
我在陈述中尝试过
用户ID为5cfaa0e32e21cb3c88885260
如果(doctor [i] ._ id!='5cfaa0e32e21cb3c88885260')
然后我的代码工作正常
如果(id!='5cfaa0e32e21cb3c88885260')
那我的代码不起作用
我的ejs代码
<% for(i=0; i<doctors.length; i++) {%>
<small><%= doctors[i].category.name%></small>
<ul>
<% if (id != '5cfaa0e32e21cb3c88885260') {%>
<form method="post">
<input class="form-control" type="hidden" name="doctor_id" value="<%= doctors[i]._id%>">
<button class="btn_1 medium" type="submit">Book now</button>
</form>
<%}%>
</ul>
</div>
</div>
<%}%>