【问题标题】:ejs error saying could not find matching idejs 错误说找不到匹配的 id
【发布时间】:2022-12-04 17:59:56
【问题描述】:

我是 mongoDB 和 eJS 的新手,我正在尝试根据集合 id 单击显示内容,如果我控制 id 正在获取 id 但如果将内容推送到细节我会收到错误:错误:找不到匹配关闭“<%=”的标记。请问我在这里做错了什么?

这是我的代码

//my app.js file

app.get("/blogs/:id", (req, res) => {
    const id = req.params.id

    console.log(id)

    Blog.findById(id)
    .then((result) => {
        res.render('details', {title: "details page", blog: result})
    })
        .catch(err => console.log(err))
})

我的详细信息文件

<!DOCTYPE html>
<html lang="en">
    <%- include("./partial/head.ejs") -%>
<body>
  <div class="singleblog-page">
    <%- include("./partial/nav.ejs") -%>
    
    
    <div class="single-blog">
        <h1><%=blog.title></h1>
        <p><%=blog.body></p>
    </div>

    <%- include("./partial/footer.ejs") -%>
    </div>
</body>
</html>

【问题讨论】:

    标签: node.js mongodb express mongoose ejs


    【解决方案1】:

    错误消息表明 EJS 无法为用于输出 blog.title 变量值的 <%= 标签找到匹配的结束标签。

    您必须为 <%= 标记添加结束标记。在 EJS 中,此标记的结束标记是 %>。因此,您需要在模板中的 blog.title 变量之后添加此结束标记。

    <h1><%=blog.title%></h1>
    

    同样,您需要为用于输出 blog.body 变量值的 <%= 标签添加一个结束标签,例如;

    <p><%=blog.body%></p>
    

    【讨论】:

      猜你喜欢
      • 2020-07-16
      • 1970-01-01
      • 2018-02-27
      • 2017-12-26
      • 2011-12-06
      • 2020-04-01
      • 2021-01-06
      • 2018-04-09
      • 1970-01-01
      相关资源
      最近更新 更多