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上,我看到了这一点:
这意味着GET请求实际上正在发生,但是我的网站仍未转到根页面。我不知道为什么会这样