国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

javascript - 這個路由這么寫有什么問題?我想刪掉一條記錄

瀏覽:105日期:2023-09-27 18:25:07

問題描述

我在roomview.html頁面上想要刪掉一條顯示出來的記錄,roomview.html部分代碼如下:

<h1>房間列表</h1><p> <a href='http://www.intensediesel.com/roomview/addroom'>增加</a></p><table> <thead> <tr><th>_id</th><th>roomName</th><th>roomContent</th><th>roomCreateUser</th><th>roomImg</th><th>roomCreateDate</th><th>roomJoinPeos</th><th>roomChat</th> </tr> </thead> <tbody> <% rooms.forEach(function( room ){ %> <tr><td><%= room._id%></td><td><%= room.roomName %></td><td><%= room.roomContent %></td><td><%= room.roomCreateUser %></td><td><%= room.roomImg %></td><td><%= room.roomCreateDate %></td><td><%= room.roomJoinPeos %></td><td><%= room.roomChat %></td><td><a href='http://www.intensediesel.com/roomview/delete?id=<%=room._id%>'>刪除房間</a> | <a href='http://www.intensediesel.com/roomview/modifyroom?id=<%=room._id%>'>更新房間信息</a></td> </tr> <% }); %> </tbody>

路由roomview.js對應刪除部分代碼如下:

router.get('/delete/:id',function(req,res){ console.log(req.params.id); Room.findById(req.params.id,function(err,doc){if(!doc){ return next(new NotFound('Doc not found'))}else{ doc.remove(function(){res.redirect('/roomview'); })} });});

不過當我點擊刪除房間后頁面卻顯示如下:

Cannot GET /roomview/delete

問題解答

回答1:

獲取id

/roomview/delete?id=<%=room._id%>router.get('/delete', cb) req.query.id/roomview/delete/<%=room._id%>router.get('/delete/:id', cb)req.params.id

soonfy

回答2:

@soonfy 就是正解。

你在路由里聲明了按照path variable的形式要求參數:/delete/:id,

但在頁面上卻又用了query parameter的形式提供參數: /roomview/delete?id=<%=room._id%>。

那肯定會出錯,最直觀的表現就是你遇到錯誤,即:壓根沒找到路由/roomview/delete對應的處理器,因為你的處理器指定的規則是/delete/:id,而非/delete。

解決方案也簡單,把頁面里改成/roomview/delete/<%=room._id%>,應該就好了

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 普格县| 共和县| 体育| 孝感市| 利辛县| 驻马店市| 西宁市| 宁阳县| 集贤县| 新乡市| 五指山市| 兴海县| 腾冲县| 喀什市| 东方市| 鄂托克旗| 阜新市| 杭州市| 新乡县| 杭锦后旗| 桑植县| 凌源市| 通州市| 阿尔山市| 集贤县| 康保县| 额尔古纳市| 松溪县| 衡阳县| 洮南市| 开鲁县| 绥芬河市| 洛扎县| 图木舒克市| 九台市| 广河县| 保山市| 上高县| 蛟河市| 万年县| 白玉县|