如何在 HTML 前端使用 res.data?

问题描述

这条路线的目的是渲染profile.html,让用户可以看到他之前所有的orders

router.get('/profile',orderController.getorders)

我能够成功从 Mongo 获取订单并通过 console.log 记录它们,但我不知道如何使用它在 profile.html 上呈现 html 元素以显示它们。

res.send(orders) 输出到屏幕并阻止 res.render 工作。

module.exports.getorders = asyncHandler(async(req,res) => {

  const token = req.cookies.jwt
  const decodedToken = jwt.verify(token,process.env.JWT_SECRET)
  const user = decodedToken.id

  const orders = await Order.find( {user: user} )

  res.send(orders)
  res.render('profile.html')
 
})

如何将这些 orders 发送到前台

解决方法

我们缺少一些关于您使用的框架以及您如何编译 HTML 的信息,但通常情况下,您会跳过 res.send(orders) 并以 res.render('profile.html',{orders: orders}); 结尾通常还有一秒钟要发送到 HTML 文件的项目参数,然后该 HTML 文件将与您的订单信息一起编译。其语法取决于您使用的 HTML 编译器。很多时候你会发现编译器需要用双括号引用输入数据,比如 {{orders}}

我建议您查看您的框架文档以了解渲染期望的参数,以及您是否需要在渲染前编译模板。希望这虽然通用,但能帮到您!

,

您应该使用视图引擎将数据传递给前端。

我推荐使用 ejs