Передайте переменную EJS в узел app.post js - PullRequest
0 голосов
/ 05 июня 2018

У меня есть 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];

, но все равно не работает!

1 Ответ

0 голосов
/ 05 июня 2018

Вам необходимо использовать элемент формы, такой как input, select, textarea и т. Д. Если вы не хотите делать его видимым, используйте скрытый тип, как показано ниже

<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>
...