使用redirect()方法对“ /”路由(Express.js)发出GET请求

时间:2019-11-27 20:08:00

标签: node.js express http

exports.putUser = function (req, res) {
    const userData = {}
    const { password, confirmation, userId } = req.body
    const schema = new passwordValidator();

    schema
        .is().min(8)
        .is().max(16)
        .has().symbols()
        .has().digits()
        .has().letters()
        .has().not().spaces()

    if (password === confirmation) {
        if (schema.validate(password)) {

            const passHash = hasha(password, {
                algorithm: "sha512"
            })

            userData.password = passHash
            db.User.findOneAndUpdate({ _id: userId }, userData, { useFindAndModify: false, new: true }, function (err, data) {
                if(err){
                    res.send(err)
                }else{
                    req.session.isLogged = true
                    req.session.loginAttemptFail = false
                    req.session.user = data.name
                    req.session.email = data.email
                    res.redirect(303,'/')
                }
            })
        }
        else {
            res.send("A senha nao atende os requisitos...")
        }
    }
    else {
        res.send("As senhas nao sao iguais...")
    }
}

当我在“ / api / user /:userId”路由上发出放置请求时,将调用此代码。如果一切正常,则应执行res.redirect(“ /”)行并将用户带回到根路由(“ /”)。有趣的是,当我的应用发出该请求时,什么也没有发生。在firefox devtools上,我看到了这一点:

enter image description here

这意味着GET请求实际上正在发生,但是我的网站仍未转到根页面。我不知道为什么会这样

0 个答案:

没有答案