此路由的目的是呈现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发送到前台?
发布于 2021-01-16 11:00:20
我们遗漏了一些关于你正在使用的框架和如何编译你的超文本标记语言的信息,但通常,你会跳过res.send(orders),并以res.render('profile.html', {orders: orders});结尾。通常,有第二个项目参数要发送到超文本标记语言文件,然后超文本标记语言文件被编译为你的订单信息。它的语法取决于您所使用的HTML编译器。很多时候,你会发现编译器需要用双花括号引用输入数据,比如{{orders}}。
我建议您查看框架文档,了解渲染所需的参数,以及是否需要在渲染之前编译模板。希望这篇文章能帮到你!
发布于 2021-01-16 11:24:41
您应该使用视图引擎将数据传递到前端。
我推荐使用ejs。
https://stackoverflow.com/questions/65745946
复制相似问题