[英]“Cannot set headers after they are sent to the client” error after post request
[英]Cannot send Post Request Again after status 401 error even after correcting the request
我有一個注冊頁面。 我正在將新用戶添加到 postgresql 數據庫。 如果我添加一個現有 email 的用戶並向 Nodejs (express) REST API 提交發布請求。我有驗證並且它返回狀態 400,這是正確的。 但問題是,當我更正名稱字段並重新發送時沒有重新加載頁面,.network 中沒有顯示任何內容,沒有任何反應。 這是我的提交功能:
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);
});
};
這是 controller(后端)
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($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) 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 來管理我的 forms
剛剛在 catch 塊中添加了setSubmitting(false)
,一切都很好
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.