Я использую Node / Express (самые последние производственные версии)
У меня есть форма, где я собираю информацию о новой учетной записи.Пользователь может добавить имя пользователя и т. Д.
В обработчике представления я проверяю базу данных mongodb, чтобы узнать, является ли имя пользователя уникальным.Если это не так, я генерирую сообщение и перезагружаю исходное представление.Поскольку исходный запрос был постом, все данные, которые выложил пользователь, находятся в req.body.Я хотел бы добавить данные, предоставленные пользователем в ответе.Я мог бы сделать это, специально добавив каждое значение в ответ.Но нет ли более простого способа добавить все данные запроса обратно в ответ?И есть ли способ сделать это в представлении (я использую ejs), я попытался res.send (JSON) в сочетании с переменными ejs.Это приводит к ошибкам, говорящим о том, что переменные недоступны.
Вот моя функция (игнорируйте users.createUser (req) - он еще не закончен):
createAccount: function(req, res, next){
users.createUser(req);
res.render('create_account', {
layout: 'secure_layout',
title: 'Create Account',
givenName: req.body.givenName,
username: req.body.username,
familyName: req.body.familyName
});
},
вот мое мнение:
<form action="/createAccount" method="post">
<div>
<label>First Name:</label>
<input type="text" name="givenName" value="<%= givenName %>"/><br/>
</div>
<div>
<label>Last Name:</label>
<input type="text" name="familyName" value="<%= familyName %>"/><br/>
</div>
<div>
<label>Username:</label>
<input type="text" name="username" value="<%= username %>"/><br/>
</div>
<div>
<label>Password:</label>
<input type="password" name="password"/>
</div>
<div>
<input type="submit" value="Submit"/>
</div>
</form>
Кажется слишком сложным добавлять каждое из значений.Я пробовал {body: req.body}, но значения никогда не добавлялись в представление.