У меня есть пустой объект из консоли (req.body) - PullRequest
0 голосов
/ 27 марта 2019

Может кто-нибудь мне помочь.Я уже пытался использовать ответы, приведенные в аналогичном проекте, но мне не удалось решить мою проблему. Спасибо за помощь

У меня много файлов:

Файл контроллеров: Ошибкапроисходит здесь:

EmployeeControllers.js:

const express = require('express');
const mongoose = require('mongoose');
require('../models/employee.model');
const router = express.Router();
let Employee = mongoose.model('Employee');
router.get('/', (req,res)=>{
  res.render('employee/addOrEdit',{
    viewTitle: "Insert Employee"
  });
});
router.post('/', (req,res)=> {
let employee = new Employee();
employee.fullName = req.body.fullName;
employee.email = req.body.email;
employee.mobile = req.body.mobile;
employee.city = req.body.city;
employee.save((err) => {
  if(!err){ res.redirect('employee/list') }
  else{console.log('Error during record insertion : '+err ) }
})
console.log(typeof req.body); // i try to look at the type 
console.log(req.body);
});
router.get('/list', (req,res)=>{
  res.json('Simple Test')
});
module.exports = router;

Вывод после отправки формы: {}.

Вот остальная часть файла, я знаю, что это слишком много:

Index.js:

require('./models/db') ;
const express = require('express');
const path = require('path');
var exphbs = require('express-handlebars');
const bodyParser = require('body-parser');
const employeeController = require('./controllers/employeeControllers');
var app = express();
var urlencodedParser = bodyParser.urlencoded({extended: false});
app.use(urlencodedParser);
app.use(bodyParser.json());
app.use('/employee', employeeController);
app.set('views', path.join(__dirname, '/views/') );
app.engine('hbs', exphbs({extname:'hbs', defaultLayout: 'mainLayout', layoutsDir:__dirname + '/views/layouts/'}));
app.set('view engine', 'hbs');

app.listen(3000, () =>{
console.log('Express server stard at port : 3000');
});

Файлы моделей: подключение к Mongoose и схема мангуста

db.js:

const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/EmployeeDB', {useNewUrlParser: true},(err)=>{
if(!err){console.log('Connection Succceeded')}
else{console.log('Connection not found')}
});
require('./employee.model');

Employee.model.js:

enter code here 

var mongoose = require('mongoose');
var employeeSchema = new mongoose.Schema ({
fullName:{type: String },
email : {type: String },
mobile : {type: String },
city : {type: String }
});
let Employee = module.exports = mongoose.model('Employee', employeeSchema)

Просмотр папок:

Папка макета:

  • mainLayout.hbs:

    Узел и экспресс-сбои {{{body}}}

Сотрудник: addOrEdit.hbs

<h3>{{viewTitle}} </h3> <form action="/employee" method="post" > <div class="form-group"> <label >Full Name</label> <input type="text" class="form-control" class="fullName" placeholder="Full Name"> </div> <div class="form-group"> <label>Email</label> <input type="text" class="form-control" class="email" placeholder="email"> </div> <div class="form-row"> <div class="form-group col-md-6"> <label >Mobile</label> <input type="text" class="form-control" class="mobile" placeholder="mobile"> </div> <div class="form-group col-md-6"> <label >City</label> <input type="text" class="form-control" class="city" placeholder="city"> </div> </div> <div class="form-group"> <button type="submit" class="btn btn-info"><i class="fa fa-database"></i> Submit</button> </div> </form>
...