我是node的新手.js我想做的是在表单处理后将输入的表单数据传递回输入字段,如果表单中传递的数据有错误(例如:用户名已被使用)。我正在尝试在 EJS 的帮助下执行此操作,但表单似乎无法检索值。
下面是我的应用程序.js代码片段:
app.use(bodyParser.urlencoded({
extended: false
}));
app.use(bodyParser.json());
app.post('/',function(req,res){
var username = req.body.username;
res.render('registration', {title: 'Registration',
username: username});
});
下面是我的注册.ejs代码片段:
<form class="form" action="/" method="post" name="regForm">
<div class="form-group">
<input type="text" value="<% username %>" name="username" class="form-control" id="username" placeholder="Username" onblur="validateUsername(this.value)" required>
</div>
</form>
发布后,我希望用户名字段填充我输入的值,但似乎没有发生。可能是什么原因造成的?
我是否正确地执行了此缓存操作,或者有没有办法更好地缓存表单输入?
使用 bodyParser.urlencoded({ extended: false })
表单解析中间件,因为 HTML 表单提交的是application/x-www-form-urlencoded
表单,而不是application/json
格式的表单数据。
我想出了什么问题。我忘了在我的 EJS 代码中将 <% 后面加上"="。在那之后它起作用了。