第一次为CRUD编写REST API,并停留在此问题上。 当我使用下面的编辑表单时,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>