2017-09-03 39 views
0

我确信有一个合理的理由,为什么我不能得到这个工作,但我一直在盯着代码很长一段时间,我很残忍卡住。我正在尝试构建一个非常基本的注册表单,该表单应该将数据存储在我的PostgreSQL数据库中。我使用bcrypt来散列密码,但即使没有问题。使用Sequelize获取“无法POST”与注册页面使用Sequelize

我的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

你使用的是csrf标记吗? – Avraham

回答

0

很可能已经工作更好,如果我做了app.post(“/注册” ......

的“/”

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'); 
    }) 
});