Первый раз пишу API REST для CRUD и застрял на этой проблеме.
req.body не обновляется, когда я использую форму редактирования ниже. Все предыдущие данные не повреждены. Он отображается правильно в форме и консоли. Но никакие изменения с использованием формы редактирования не передаются вместе с телом.
//EDIT ROUTE
app.get("/list/:id/edit", function(req, res){
Order.findById(req.params.id, function(err, foundOrder){
if(err){
console.log(err);
}
else{
res.render("edit", {order:foundOrder});
}
});
});
//UPDATE ROUTE
app.put("/list/:id", function(req, res){
console.log(req.body.order);
Order.findByIdAndUpdate(req.params.id, req.body.order, function(err, updatedOrder){
if(err){
console.log(err);
}
else{
res.redirect("/list/" +req.params.id);
}
});
});
///////////////////////////////////////////////////////////////////
//edit.ejs
///////////////////////////////////////////////////////////////////
<form class="form-group" id="usrform" action="/list/<%= order._id %>?_method=PUT" method="POST">
<p><textarea name="location" cols="50" rows="3" ><%= order.location %></textarea></p>
<p><textarea name="time" cols="50" rows="3"><%= order.time %></textarea></p>
<p><textarea name="desc" cols="50" rows="7"><%= order.desc %></textarea></p>
<button class="orderButton">Submit</button>
</form>