router.put不工作,app.put工作正常

时间:2018-07-09 14:11:29

标签: javascript

我做了一条编辑和更新的路线。 router.get()可以正常工作,但是router.put()不能正常工作。不过,我正在主要的app.js工作。

我正在使用方法覆盖

//edit (working)
router.get('/userList/:id/edit', function(req, res){
  User.findById(req.params.id, function(err, foundUser){
    res.render('admin/userList/edit', {user: foundUser})
    console.log(req.params.id)
    // console.log(req.body.id)
  });  
});

//update  (not working)
router.put('/userList/:id', function(req, res) {
  User.findByIdAndUpdate(req.params.id, req.body.user, function(err, updatedUser) {
    if(err) {
      res.redirect('back');
      req.flash("error", "Coś poszło nie tak!");
    } else {
      res.redirect('back');
      req.flash("success", "User został zmodyfikowany!");
    }
  })
})

//update in main app.js (working)
app.put('/userList/:id', function(req, res) {
  User.findById(req.params.id, function(err, user) {
    console.log(user)
  })            
})

表格:

<form action="/userList/<%= user._id %>?_method=PUT" method="POST">
  <div class="form-group">
    <input type="text" class="form-control" name="user[username]" value="<%= user.username %>" >
  </div>

  <button type="submit" class="btn btn-primary">Submit</button>
</form>

0 个答案:

没有答案