即使更正了请求,也无法在状态 401 错误后再次发送 Post 请求
Cannot send Post Request Again after status 401 error even after correcting the request
我有一个注册页面。我正在向 postgresql 数据库添加新用户。如果我使用现有电子邮件添加用户并向 Nodejs (express) REST API 提交 post 请求。我有验证,它 returns 状态 400 是正确的。
但问题是,当我更正名称字段并重新发送时没有重新加载页面,网络中没有显示任何内容,也没有任何反应。这是我的提交功能:
const onSubmit = (values, { resetForm, setStatus }) => {
axios
.post("http://localhost:3006/api/inscrire",{values})
.then((response) => {
resetForm({ values: "" })
setStatus({ success: "Email sent !" })
navigate("/", { state: 'hello from signup page' })
})
.catch((err) => {
console.log(err.response.data);
});
};
这是控制器(后端)
const Register = (req, res, next) => {
bcrypt.hash(req.body.values.motdepass1, 10)
.then((hash) => {
const newUser = pool.query("INSERT INTO public.user(nom, prenom, email, numtelephone, numfixe, naissance, sexe, motdepass, status, nationalite) VALUES(, , , , , , , , , ) RETURNING _id", [
req.body.values.nom,
req.body.values.prenom,
req.body.values.email,
req.body.values.tel,
req.body.values.tell,
req.body.values.naissance,
req.body.values.sexe,
hash,
req.body.values.status,
req.body.values.nationalite,
])
.then((result) => {
return res.status(201).json({ message: "Utilisateur créer avec succés !" })
})
.catch(err => {
if (err.code === '23505') {
res.status(401).json({ message: "Veuillez utiliser un autre e-mail !" })
} else {
res.status(401).json({ message: "erreur Interne 401" })
}
})
})
.catch((err) =>
res.status(400).json({ err }
))
}
我正在使用 Formik 来管理我的表单
刚刚在 catch 块中添加了 setSubmitting(false)
,一切正常
我有一个注册页面。我正在向 postgresql 数据库添加新用户。如果我使用现有电子邮件添加用户并向 Nodejs (express) REST API 提交 post 请求。我有验证,它 returns 状态 400 是正确的。 但问题是,当我更正名称字段并重新发送时没有重新加载页面,网络中没有显示任何内容,也没有任何反应。这是我的提交功能:
const onSubmit = (values, { resetForm, setStatus }) => {
axios
.post("http://localhost:3006/api/inscrire",{values})
.then((response) => {
resetForm({ values: "" })
setStatus({ success: "Email sent !" })
navigate("/", { state: 'hello from signup page' })
})
.catch((err) => {
console.log(err.response.data);
});
};
这是控制器(后端)
const Register = (req, res, next) => {
bcrypt.hash(req.body.values.motdepass1, 10)
.then((hash) => {
const newUser = pool.query("INSERT INTO public.user(nom, prenom, email, numtelephone, numfixe, naissance, sexe, motdepass, status, nationalite) VALUES(, , , , , , , , , ) RETURNING _id", [
req.body.values.nom,
req.body.values.prenom,
req.body.values.email,
req.body.values.tel,
req.body.values.tell,
req.body.values.naissance,
req.body.values.sexe,
hash,
req.body.values.status,
req.body.values.nationalite,
])
.then((result) => {
return res.status(201).json({ message: "Utilisateur créer avec succés !" })
})
.catch(err => {
if (err.code === '23505') {
res.status(401).json({ message: "Veuillez utiliser un autre e-mail !" })
} else {
res.status(401).json({ message: "erreur Interne 401" })
}
})
})
.catch((err) =>
res.status(400).json({ err }
))
}
我正在使用 Formik 来管理我的表单
刚刚在 catch 块中添加了 setSubmitting(false)
,一切正常