如何在ejs模板中选择URL ID

问题描述 投票:0回答:1

我创建了以下路线

router.get('/review/:id', function(req, res) {
  var id = req.params.id;
  Question.find({quiz: mongoose.Types.ObjectId(id)}).populate('quiz creator').exec()
  .then(qstn => {
   res.render('review', {
    user: req.user,
    qstn: qstn
  })   
  console.log(qstn);
  })
  .catch(err => {
      console.log(err);
      res.status(500).json({
          error: err
      })
  });
 });

现在,我想在ejs模板中使用:id像这样

<div class="form-group">
<input
  type="hidden"
  id="quiz"
  name="quiz"
  class="form-control"
  value="**I want ID here**"
/>
</div> 

有关如何操作的任何建议?

node.js express ejs
1个回答
0
投票

💡您可以通过在渲染方法中传递id来实现。

👨‍🏫 示例您可以在下面查看以下代码:👇

router.get('/review/:id', function(req, res) {
    var id = req.params.id;
    Question.find({
            quiz: mongoose.Types.ObjectId(id)
        }).populate('quiz creator').exec()
        .then(qstn => {
            res.render('review', {
                user: req.user,
                qstn: qstn,
                id: id, // your id it's here
            })
            console.log(qstn);
        })
        .catch(err => {
            console.log(err);
            res.status(500).json({
                error: err
            })
        });
});

在通过渲染方法传递id之后,现在可以在ejs文件中调用它。看起来像下面的代码:👇

<div class="form-group">
<input
  type="hidden"
  id="quiz"
  name="quiz"
  class="form-control"
  value="<%=id%>"
/>
</div> 

现在,您可以尝试一下,我认为它会很好地工作。

希望它能对您有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.