2016-12-29 3 views
0

ich dies als Konfiguration meines Express index.js haben:CRUD Express.js mit mysql Ausgabe

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; 

Aber immer noch, wenn ich für req.body.something in meine Routen fragen bekomme ich einige Fehler zeigen nicht lesen können Eigenschaft 'Name' von undefiniert. Hier ist ein Beispiel für eine Route, die req.body und das Bild des Druck Code verwendet:

output like this

Jeder Hinweis?

+0

Wie Sie Ihre '/ add' Post anrufen? fügen Sie 'console.log (req.body);' hinzu, um zu sehen, was Express analysiert. – Alan

Antwort

0

Es sieht so aus, als ob Sie body-parser benötigen, es aber nicht verwenden.

Je nachdem, welche Art von Inhalten, die Sie akzeptieren Sie tun sollten:

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