【问题标题】:Send ejs field to a nodejs file将 ejs 字段发送到 nodejs 文件
【发布时间】:2016-12-27 12:27:34
【问题描述】:

我有以下 ejs 代码。

 <form action="/"  class = "form-horizontal" method="post">
 <textarea class = 'form-control departureCode' name = "departureCode"     rows= "1"></textarea>
 </form>

这是我在 routes.js 文件中的后处理程序代码。

routes.post('/', (req, res, next) => {
            let departureCode = JSON.parse(req.body.departureCode);
            console.log(departureCode);
        });

我没有让它成功运行。我在我的帖子处理程序中收到未定义的令牌错误。请你帮助我好吗?

【问题讨论】:

  • 如果在路由中发布数据,则无法在 ejs 模板中获取数据。您必须渲染视图并在参数中传递数据,然后它将在您的 ejs 模板中可用。使用参考:stackoverflow.com/questions/25596615/…
  • 抱歉回复延迟。我尝试使用 res.render 它仍然给我 req.body.departureCode 值的未定义令牌错误。可能是我在设置 bodyparser 模块的方式上遗漏了一些东西。
  • 我继续阅读与此问题相关的更多问题,并偶然发现一篇帖子,他们提到可能不需要解析,因为它可能已经被解析。我尝试删除 JSON.parse 并且它有效:)。但我必须说你最初的回答帮助我理解,即使我想将这些值发送到同一个 ejs 文件,我也必须使用 res.render。我给你的答案打勾。感谢您的意见。

标签: node.js ejs body-parser


【解决方案1】:

中移除 JSON.Parse
let departureCode = JSON.parse(req.body.departureCode);

成功了。此外,Yogesh Patel 在 cmets 中建议进行更改。谢谢大家。

【讨论】:

    猜你喜欢
    • 2017-05-29
    • 1970-01-01
    • 1970-01-01
    • 2021-01-18
    • 2015-02-19
    • 2019-08-30
    • 1970-01-01
    • 2021-09-16
    • 1970-01-01
    相关资源
    最近更新 更多