我不確定如何將資料提交到我的更新表單以及我必須在操作欄位中放入什么,因為 router.post 有一個 :id。下面是我的代碼:
router.post('/gymupdate/:id',async(req,res) => {
let gymName = req.body.firstname;
let location = req.body.city;
let phoneNumber = req.body.mobile;
let priceRange = req.body.price;
let id = req.params.id;
try{
check2(gymName,location,phoneNumber,priceRange);
if(!id) throw 'Pleaase provide an id';
var checkForHexRegExp = new RegExp("^[0-9a-fA-F]{24}$");
if(checkForHexRegExp.test(id)===false) throw 'Not a valid objectid';
const updategym = await gymData.update(id,gymName,location,phoneNumber,priceRange)
if(updategym)
res.status(200).redirect('/gyms')
else {
res.status(500).render('gymbars/updategym', {title: "Error", error: 'Internal Server Error'})
}
}
catch(e){
res.status(400).render('gymbars/updategym', {title: "Error", error: e})
}
});
形式:
<form method="POST" action="/gyms/gymupdate/:id" id="signup-form" class="signup-form"></form>
action里面的內容不作業,那么類似router.post方法的action部分如何添加id欄位呢?
這是用戶獲取 id 的方式:
router.get('/gymupdate/:id',async(req,res) => {
const id = req.params.id;
const values = await gymData.getGym(id);
try{
if (req.session.user && req.session.user.role === 'owner'){
res.render('gymbars/updategym',{values:values})
}
else if(req.session.user && req.session.user!=='owner')
res.redirect('/login')
else{
res.redirect('/login')
}
}
catch(e){
res.sendStatus(500);
}
});
所以邏輯是這樣的,我顯示一個健身房串列作為鏈接,一旦你點擊它們,你就會進入健身房的個人資料。那里有一個按鈕,上面寫著更新這個健身房,一旦點擊它就會轉到這里正在討論的更新健身房頁面。
uj5u.com熱心網友回復:
如果您在前端使用任何語言,則有一種方法可以撰寫動態 URL
但如果您使用純 HTML,那么這將對您有所幫助
<form id="form_id" method="post" action="/aa">
<input type="submit">
</form>
<script>
document.getElementById("form_id").action = "/bbbbbb";
</script>
你需要帶上你的身份證
let id_to_pass//=get id which you want to pass in post api
document.getElementById("form_id").action = "/gymupdate/" id_to_pass;
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/378340.html
標籤:javascript 节点.js 形式 表达 邮政
上一篇:對于查詢引數過濾的GET請求,json-server回傳HTTP200而不是404,這里的最佳實踐是什么以及如何回傳404?
下一篇:型別錯誤:hbs不是函式
