Ejs传递的变量未显示

时间:2019-06-07 18:38:57

标签: node.js express ejs

我在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> <%}%>

0 个答案:

没有答案