【发布时间】:2019-01-20 22:31:55
【问题描述】:
我有一个 .jade 格式的注册表
form(method='post', action='/users/register', enctype='multipart/form-data')
.form-group
label Name
input.form-control(name='name', type='text', placeholder='Enter Name' required)
.form-group
label Email
input.form-control(name='email', type='email', placeholder='Enter Email' required)
.form-group
label Username
input.form-control(name='username', type='text', placeholder='Usernamee' required)
.form-group
label Password
input.form-control(name='password', type='password', placeholder='Enter Password' required)
.form-group
label Password
input.form-control(name='password2', type='password', placeholder='Confirm Password' required)
.form-group
label Profile Image
input.form-control(name='profileimage', type='file')
input.btn.btn-default(name='submit', type='submit', values='Register')
这就是我如何创建一个新用户并尝试将它们添加到数据库中,但数据没有被添加到数据库中。问题是它没有从表单字段中获取值: 姓名、邮箱用户名、密码均为 NULL 我不明白为什么它应该采用所有值
router.post('/register', function(req, res, next) {
var newUser = new User({
name: req.body.name,
email: req.body.email,
username: req.body.username,
password: req.body.password,
profileImage: profileImageName
});
}
【问题讨论】:
-
可能你已经提供了
action='/users/register',并且在路由器中你有/register,在来到这个router.post之前你有users/作为前缀吗?? -
不,我没有 users/ 作为前缀,如果我添加 users/ ..它会出错
-
好的,然后在你的jade代码中更改
action='/register'就可以了 -
如果我将用户从操作中删除,则会出现错误
-
好的,那么您在来这条路线之前可能已经拥有
/users。你在初始化应用的文件中使用了app.use(express.bodyParser());中间件吗?
标签: javascript node.js mongodb forms jade4j