Итак, у меня есть этот пост, чтобы добавить некоторые продукты в мой MongoDB
router.post('/addprod',mid.reqAdmin,function(req,res,next){
if(req.body.category && req.body.name && req.body.price && req.body.description && req.files)
{
upload(req,res,function(err) {
console.log("req.body"); //form fields
console.log(req.body);
console.log("req.file");
console.log(req.files); //form files
})
var prodData={
name: req.body.name,
price: req.body.price,
description: req.body.description,
category: req.body.category,
images: req.files.filename
};
console.log(prodData);
Prod.create(prodData,function (error, product) {
if (error) {
req.flash('error','Error');
return res.redirect('/addprod');
}
else{
req.flash('success', 'Success');
return res.redirect('/addprod');
}
});
}else
{
req.flash('error','All Fields Required');
return res.redirect('/addprod');
}
});
И у меня есть этот шаблон (мопс / нефрит):
.form
form(enctype="multipart/form-data" action='/addprod' method='POST')
input(type="text" id='category' placeholder="Category name='category')
input(type="text" id='name' placeholder="Name" name='name')
input(type="text" id='price' placeholder="Price" name='price')
input(type="text" id='description' placeholder="Description" name='description')
input(type="file" name="images" multiple)
button(type="submit") Add
Поэтому, когда я нажимаю кнопку «Добавить» со всеми заполненными полями, я получаю «Все поля обязательны для заполнения»
я поставил несколько консольных журналов перед оператором IF и получаю req.body.name = undefined
и req.body = {}. И я не знаю, почему я это понимаю.
В файле app.js у меня есть парсер тела. Я имею в виду на каждом маршруте, но этот парсер тела работает.