繁体   English   中英

CRUD express.JS与mysql问题

[英]CRUD express.JS with mysql issue

我将其作为Express index.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和此印刷代码图片的路线示例:

这样的输出

有什么线索吗?

看来您需要body-parser但实际上并未使用它。

根据您接受的内容类型,您应该执行以下操作:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM