我确定有一个合理的理由说明为什么我无法让这个工作,但我已经盯着代码很长一段时间而且我是残酷地卡住了。我试图构建一个非常基本的注册表单,该表单应该将数据存储在我的PostgreSQL数据库中。我使用bcrypt来破解密码,但即使没有问题。
我的HTML有以下内容:
<form action="/register/new" method="post">
<label for="username">Username</label>
<input type="text" name="username">
<label for="password">Password</label>
<input type="password" name="password">
<label for="confirm">Confirm Password</label>
<input type="password" name="confirm">
<button type="submit">Submit</button>
</form>
然后是我的代码:
app.get("/register", function(req,res){
res.render("register");
})
app.post('register', function(req,res){
let newUser = {
username: req.body.username,
passwordHash: bcrypt.hashSynce(req.body.password, 8)
}
models.Users.create(newUser).then(function(){
res.redirect('/login');
})
});
要存储的注册数据和用户重定向到登录页面的计划,登录将它们存储在会话中,等等。我想了一下,问题是表单上的操作,但无论我得到不能POST /注册/新。我也在做一个findOrCreate并进行比较,但我想在开始之前实际上只是创建它之前让它变得更复杂。无法发布同样的问题。
对我需要改变什么的想法?
答案 0 :(得分:0)
如果我做了app.post(“/ register”......
),可能会更好简单地错过了一个“/”
答案 1 :(得分:0)
尝试修改此代码...
app.post('/register', function(req,res) {
let newUser = {
username: req.body.username,
passwordHash: bcrypt.hashSync(req.body.password, 8)
}
// if it does not connect/save try using models.User instead of models.Users below.
models.Users.create(newUser).then(function(){
res.location('/login');
res.redirect('/login');
})
});