CRUD express.JS с проблемой mysql

У меня есть это как конфигурация моего Экспресс-индекса.js:

var express = require('express');
var bodyParser = require('body-parser');
var mysql = require('mysql');
var router = express.Router();

 //connection database
var connection = mysql.createConnection({
host     : 'localhost',
user     : 'root',
password : '',
database : 'learn'
});

connection.connect(function (err){
 if (err) throw err; 
    console.log('Database connected . . . nn');

});

router.get('/', function(req, res, next) {
  var sql = 'SELECT * FROM `test`';
   connection.query(sql, function(err, rows, field){
     if (err) throw err; 
     res.render('index', {
        data: rows
      })
   });
 });

 router.get('/add', function (req, res, next){
   res.render('add_costumer', {title: 'Update'});
 });

 router.post('/add', function (req, res){

    var input = req.body;

  var data = {

    name : input.name,
    email : input.email,
    phone : input.number_phone
   };

connection.query('INSERT INTO `test` SET ?', data, function(err,rows){

    if(err) throw err;

        console.log("Error inserting : %s ",err );
        res.redirect('/');
  });

 });

 router.get('/update', function (req, res, next){
   res.render('update', {judul: 'Add'});

 });

 module.exports = router;

Но все же, когда я прошу req.тело.что-то в моих маршрутах я получаю какую-то ошибку, указывая не могу прочитать свойство ‘name’ undefined. Вот пример маршрута, который использует req.тело и это изображение кода печатания :

выход как это

Есть зацепка?

1 ответ

  1. Похоже, что вы требуетеbody-parser, но на самом деле не используете его.

    В зависимости от того, какой контент вы принимаете, вы должны сделать:

    app.use(bodyParser.json()); // where app is your express app
    app.use(bodyParser.urlencoded({ extended: true});