У меня есть это как конфигурация моего Экспресс-индекса.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.тело и это изображение кода печатания :
Есть зацепка?
Похоже, что вы требуете
body-parser
, но на самом деле не используете его.В зависимости от того, какой контент вы принимаете, вы должны сделать: