2016-12-29 40 views
0

我有这个作为我的快递index.js的配置:与MySQL的问题CRUD express.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 . . . \n\n'); 

}); 

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.body.something我得到一些错误指示无法读取属性'名称'未定义。下面是一个使用req.body路线的一个例子,打印代码的这样的画面:

output like this

任何线索?

+0

你怎么打电话给你'/ add'帖子? add'console.log(req.body);'查看Express解析的内容。 – Alan

回答

0

它看起来像你要求body-parser但没有实际使用它。

根据您所接受,你应该做的是什么样的内容:

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