首页 > 开发 > JS > 正文

这个路由这么写有什么问题?我想删掉一条记录

2017-09-05 12:26:07  来源:网友分享

我在roomview.html页面上想要删掉一条显示出来的记录,roomview.html部分代码如下:

<h1>房间列表</h1><p>    <a href="/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="/roomview/delete?id=<%=room._id%>">删除房间</a> | <a href="/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

解决方案

获取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