如何在Node.js中正确缓存表单输入



我是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 代码中将 <% 后面加上"="。在那之后它起作用了。

最新更新