javascript 无法在具有express和mongodb的节点中放置错误

bxjv4tth  于 2023-02-07  发布在  Java
关注(0)|答案(1)|浏览(128)

所以我是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

ddrv8njm

ddrv8njm1#

Express是正确的,端点/notes/edit-note/63 dfae 9a 9 b 9 b5575065 eaad不存在。但是这个/notes/editE-note/:id小心打字错误。

相关问题