所以我是Node.js的初学者,我试图用Express和mongoDB制作一个简单的笔记应用程序,但是我在修改一个写着“不能放置“的笔记和笔记的ID时遇到了问题。
这是edit-note视图的代码
<div class="col-md-4 mx-auto">
<div class="card">
<div class="card-header">
<h3>Edit Note</h3>
</div>
<div class="card-body">
<form action="/notes/edit-note/{{note._id}}?_method=PUT" method="POST">
<input type="hidden" name="_method" value="PUT">
<div class="form-group">
<input type="text" class="form-control" name="title" placeholder="Title" value="{{note.title}}">
</div>
<div class="form-group">
<textarea class="form-control" name="description">{{note.description}}</textarea>
</div>
<div class="form-group">
<button class="btn btn-primary btn-block" type="submit">Save</button>
</div>
</form>
</div>
</div>
</div>
这是路由配置的代码
router.get('/notes/edit/:id', async (req, res) => {
const note = await Note.findById(req.params.id);
res.render('notes/edit-note', {note});
})
router.put('/notes/edite-note/:id', async (req, res) => {
const {title, description} = req.body;
await Note.findByIdAndUpdate(req.params.id, {title, description});
res.redirect('/notes')
})
它应该用编辑过的值保存新的注解,并将我重定向到可以看到保存的所有注解的位置,但它显示为Cannot PUT /notes/edit-note/63dfae9a9b9b5575065eaaad
1条答案
按热度按时间ddrv8njm1#
Express是正确的,端点/notes/edit-note/63 dfae 9a 9 b 9 b5575065 eaad不存在。但是这个/notes/editE-note/:id小心打字错误。