我已經為此苦苦掙扎了很長時間,無法弄清楚問題出在哪里。我只想發布到/accountRoutes/editFinalMark并且我已經包含了路由和控制器的代碼。
<form method="post" action="/accountRoutes/editFinalMark">
<fieldset class="form-group">
<div class="row justify-content-md-center">
<div class="form-group" >
<input type="" id="moduleID" name="moduleID" style="display: none;" value="<%= module._id %>">
<input type="" name="editFinalMarkInput" id="editFinalMarkInput" class="urlInput" placeholder="Add Final Mark" style="">
</div>
<div class="form-group">
<input type="submit" name="editFinalMarkButton" id="editFinalMarkButton" class="submit-docs" value="Add" style="background-color: #6dabe4; border-top-right-radius: 15px; border-bottom-right-radius: 15px; color: white;" />
</div>
</div>
</fieldset>
</form>
// The Route:
router.post('/editFinalMark', accountController.editFinalMark_post);
// The Controller I want to call:
module.exports.editFinalMark_post = async (req, res) => {
try {
const { editFinalMarkInput, moduleID } = req.body;
console.log("\n\n\n\n\n");
console.log("editFinalMarkInput: ", editFinalMarkInput);
console.log("moduleID: ", moduleID);
Module.findOneAndUpdate(
{ _id: moduleID },
{ $push: { final_mark: editFinalMarkInput } },
function (error, success) {
if (error) {
console.log(error);
} else {
console.log(success);
}
}
);
res.status(201).json({ });
} catch (err) {
res.status(400).json({ err })
}
};
當我單擊提交時發生的所有事情是頁面重新加載并且 url 更新以包含表單中的資料,但它沒有完成表單中指定的操作。控制臺中也沒有任何錯誤。
uj5u.com熱心網友回復:
當我單擊提交時發生的所有事情是頁面重新加載并且 url 更新以包含表單中的資料,但它沒有完成表單中指定的操作。
所以它忽略了action(因為它轉到了錯誤的 URL)和method(因為它把資料放在 URL 中,所以它正在發出 GET 請求)。
由此我們可以推斷出您還有另一個 <form>元素,那就是正在提交的元素。您只是沒有將其包含在問題的代碼中。
<form>不允許嵌套元素,因此驗證器會幫助您找到它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/454281.html
標籤:javascript html 节点.js 形式
