首页 > 解决方案 > 在 express 中将数据传递给加载了 res.redirect 的视图

问题描述

大家早上好。我正在尝试将数据传递给通过重定向快速加载的视图:

res.redirect('/manage-account/2-0/returns/answers')

以上是一个 html 视图,只需重定向即可正常加载,但我想传递一些数据。据我所知,我不能将数据作为重定向的一部分传递,只是重定向?

因此,我GET为该路线设置了一条,并尝试使用数据渲染视图,但出现错误:

template not found: /manage-account/2-0/returns/answers.html

这是我创建的路线以及页面最初在另一个视图中重定向到的方式:

router.get('/manage-account/2-0/returns/questions', function (req, res) {
  // stuff

  res.redirect('/manage-account/2-0/returns/answers')
})

router.get('/manage-account/2-0/returns/answers', function (req, res) {
  res.render('/manage-account/2-0/returns/answers', { data })
})

标签: javascriptexpress

解决方案


我找到了可能的写作方式。

服务器端app.engine('html', require('ejs').renderFile);-

 app.get('/main', function(req, res) {

   var name = 'hello';

   res.render(__dirname + "/views/layouts/main.html", {name:name});

});

客户端(main.html) -

<h1><%= name %></h1>

推荐阅读