我試圖創建一個帶有express和mongoose的nodejs的CRUD,當我嘗試更新窗體中的內容時,這個空的所有寄存器當我用POST方法做。這裏說到我的代碼:如何使用方法放在node.js與快遞更新信息
玉模板
extends ../includes/layout
block content
div(class="wrap")
include ../includes/header
div(class="column-group vertical-space")
div(class="all-50 push-center")
div(class="all-100")
h1 #{title}
div(class="all-100")
form(role="form" method="post" action="#{project.id}" enctype="multipart/form-data")
div(class="all-50")
h3 Cambiar nombre a #{project.ProjectName}
input(type="text" name="projectName" required)
p Cambiar detalles
textarea(name="details")
p Cambiar precio
input(type="number" name="ammount")
p Cambiar localización
input(type="text" name="localize")
div(class="all-50")
p Cambiar Imágen
input(type="file" name="image" multiple)
//p #{plane}
//input(type="file" name="plane")
div(class="all-100")
button(type="submit") Enviar
div(class="push")
include ../includes/footer
控制器
saveEditProject : function (req, res, file){
Project.findById(req.params.id, function(err, project){
if(!project){
res.redirect('/project');
}
project.ProjectName = req.body.projectName;
project.ProjectDetails = req.body.details;
project.ProjectAmount = req.body.ammount;
project.ProjectLocation = req.body.localize;
project.ProjectFileName = req.body.image;
project.save(function (err) {
if (err) {
res.send("not now");
}
res.redirect('/project');
});
});
},
路線
router.post('/edit/:id', controller.saveEditProject);
使用['router.put'。](http://expressjs.com/en/4x/api.html#router.METHOD) –
這樣就得到了http:// localhost:3000/project/edit /5734b65f5e8cc78d277e63dc?projectName=testing&details=&ammount=&localize=&image=13122913_798137460320744_2366020950260825105_o.jpg在瀏覽器上,但沒有任何信息保存在數據庫中 –
您確定'project'不是'null'嗎? –