router.post("/check", async (req, res) => {
const nom = req.body.nom
const postnom = req.body.postnom
const matricule = req.body.matricule
const numeroBordero = req.body.numero_bordero
const paymentOrder = req.body.payementOrder
const etudiant = Etudiant.findOne({ matricule }, function (err, result) {
if (result == null) {
req.flash("test", "veuillez entrer des infos correctes")
res.redirect("/");
} else if (result !== null) {
if (result.isRegistered !== true) {
Etudiant.updateOne({
_id: result._id
}, {
isRegistered: true
}, function (err) {
if (err) {
console.log(err);
} else {
console.log("correctly updated");
}
})
}
}
})
return res.render("profil", {
etudiant
});
})
uj5u.com熱心網友回復:
一旦你打電話redirect,你不能打電話render。
重定向后回傳。
res.redirect("/");
return
uj5u.com熱心網友回復:
你正在使用什么前端框架,你想用這個端點完成什么?似乎該函式正在檢查記錄請求的值,如果找到記錄則運行更新。
如果您希望 ui 上的渲染取決于此 api 呼叫的結果,則需要相應地渲染單獨的 html。
我習慣于使用 react 或 angular,我只是將一個 json 物件發送到 UI,并讓 ui 確定要導航到哪個頁面,或者有條件地渲染哪個組件。
uj5u.com熱心網友回復:
return res.redirect("/");改為使用
uj5u.com熱心網友回復:
您想使用 async/await 但您的代碼中只存在 async。
接下來,使用result === null代替result == null. 我沒有測驗您的代碼,但是您可以運行此代碼嗎?我想它會解決你的問題。
此代碼使用承諾。
router.post("/check", (req, res) => {
const nom = req.body.nom
const postnom = req.body.postnom
const matricule = req.body.matricule
const numeroBordero = req.body.numero_bordero
const paymentOrder = req.body.payementOrder
Etudiant.findOne({ matricule }, function (err, result) {
if (result === null) {
req.flash("test", "veuillez entrer des infos correctes")
res.redirect("/");
} else if (result !== null) {
if (result.isRegistered !== true) {
Etudiant
.updateOne(
{_id: result._id},
{ isRegistered: true}
)
.then(() => {
console.log("correctly updated")
})
.catch((err) => {
console.log(err)
})
}
})
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/428889.html
