【问题标题】:Pass EJS variable to app.post node js将 EJS 变量传递给 app.post 节点 js
【发布时间】:2018-11-14 15:46:32
【问题描述】:

我有一个带有如下变量的 ejs 文件:

<form action="/profile" method="post">
<p>
    <% var ten = user.username %>
    <strong>id</strong>: <%= user.id %><br>
    <strong>username</strong>: <%= ten %><br>
    <strong>password</strong>: <%= user.password %>
</p>
<p id="passwd" name="passwd" ><%= user.username %></p>
<button type="submit" class="btn btn-warning btn-lg">Wallet</button>
</form>

在 index.js 文件中,我有 POST 请求想要获取变量“ten”并像这样添加到password 变量中。

this.app.post('/profile', (req, res) => {                        
            let password = req.body.ten;            
            let newWallet = operator.createWalletFromPassword(password);
            let projectedWallet = projectWallet(newWallet);
            res.status(201).send(projectedWallet)
        });

但它不起作用。我什至尝试使用:

let password = req.body.passwd;  
let password = req.body[passwd];

但还是不行!

【问题讨论】:

    标签: javascript html node.js ejs


    【解决方案1】:

    您需要使用输入、选择、文本区域等表单元素。如果您不喜欢使其可见,请使用隐藏类型,如下所示

    <form action="/profile" method="post">
        <p>
            <% var ten = user.username %>
            <strong>id</strong>: <%= user.id %><br>
            <strong>username</strong>: <%= ten %><br>
            <strong>password</strong>: <%= user.password %>
        </p>
        <p id="passwd" name="passwd" ><%= user.username %></p>
        <!-- these fields will be sent to server -->
        <input type="hidden" name="username" value="<%= user.username %>">
        <input type="hidden" name="password" value="<%= user.password %>">
    
        <button type="submit" class="btn btn-warning btn-lg">Wallet</button>
    </form>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-04
      • 1970-01-01
      • 2014-01-30
      • 1970-01-01
      • 2014-07-10
      • 2016-04-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多