【发布时间】:2016-10-20 08:36:18
【问题描述】:
嘿伙计们,我一直在尝试使用 express.js 和 mysql 创建一个注册表单,但我的路线无法正常工作,因为即使正确填写了所有详细信息,它也会跳转到 else 语句,这是我的代码。
User.js内容:
exports.register = function(req, res, next) {
req.getConnection(function(err, connection) {
if (req.body.name && req.body.email && req.body.password && req.body.confirmPassword) {
// if user puts non matching passwords
if (req.body.password !== req.body.confirmPassword) {
var err = new Error('passwords do not match ')
err.status = 400;
return next(err)
}
// if user do not put name and email on registration
if (!req.body.name && !req.body.email) {
var err = new Error('Both name and email need to be inputed');
err.status = 400;
return next(err)
}
// if user puts correct info the get save to database
var newUser = {
name: req.body.name,
email: req.body.email,
password: req.body.password,
confirmPassword: req.body.confirmPassword
};
connection.query('insert into Users set ?', newUser, function(err, results) {
if (err) return next(err);
req.flash("success", 'Welcome', newUser.name);
req.session.user = newUser;
res.redirect('/categories');
});
} else {
var err = new Error('All fields must be filled. ')
err.status = 400;
return next(err)
}
});
}
有人可以帮我找出哪里出错了吗?
【问题讨论】:
-
你能显示你的
req.body值吗? -
它返回一个空值
-
你能给你看看 app.js 文件吗?
标签: javascript mysql node.js forms express