我的注册功能出现了一个非常奇怪的错误。
我希望用户能够正常注册。 然后我想要一个"注册管理员"页面,仅用于在数据库中注册一个管理员。
router.get('/register', function(req, res) {
res.render('register', {title: "Register"});
});
router.post('/register', function registerUser(req, res) {
validate.validateRegistration(req.body, res);
});
router.get('/registeradmin', function (req, res) {
res.render('register', {title: "Register ADMIN"});
});
router.post('/registeradmin', function(req, res) {
validate.validateRegistration(req.body, res, 'admin');
});
您可能已经注意到,为了注册管理员,我通过了“管理员”#39;作为第三个参数,我应该将其保存为用户角色。如果没有参数,则应将其保存为“学生”
module.exports.validateRegistration = function(data, res, usrRole) {
console.log("validating");
console.log('role: ' + usrRole);
var username = data.username;
var password = data.password;
var email = data.email;
var firstname = data.firstname;
var lastname = data.lastname;
var role = usrRole || 'student';
// validation stuff here
}
几乎所有东西。
usrRole未定义 我不知道为什么。 这几乎是我曾经遇到的最微不足道的错误,我觉得这个问题很愚蠢,但我不知道为什么会这样。
注册普通用户工作正常。
注册管理员插入'学生'作为数据库中的角色,console.log
说:
validate called
role: undefined
任何想法? 这应该工作,还是我失明?
答案 0 :(得分:0)
调试代码并确保调用registeradmin route。您可以在registeradmin路由中添加console.log("bla bla");
以确保您正在呼叫此路由。