【问题标题】:Can't Post data from postman to database with express无法使用快递将数据从邮递员发布到数据库
【发布时间】:2019-10-23 02:08:12
【问题描述】:

我无法将数据从邮递员发布到 mysql 数据库 我正在使用快递

我尝试过使用 Body 和 Raw x-wwww-form-urlencoded

这是我的代码(是的,所有内容都在同一个文件中,我知道这不是一件好事,对不起)

var app = express();
var bodyParser = require('body-parser');
var mysql = require('mysql');

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));


// default route
app.get('/', function (req, res) {
    return res.send({ error: true, message: 'hello' })
});
// connection configurations
var dbConn = mysql.createConnection({
    host: 'localhost',
    user: 'root',
    password: '',
    database: 'testexpress'
});

// connect to database
dbConn.connect(); 



// Add a new user  
app.post('/user', function (req, res) {

    let user = req.body.user;

    if (!user) {
        return res.status(400).send({ error:true, message: 'Please provide user' });
    }

    dbConn.query("INSERT INTO users SET ? ", { user: user }, function (error, results, fields) {
        if (error) throw error;
        return res.send({ error: false, data: results, message: 'New user has been created successfully.' });
    });
});

// set port
app.listen(3000, function () {
    console.log('Node app is running on port 3000');
});

module.exports = app;

这是 Postman 和我的数据库的屏幕截图错误

【问题讨论】:

  • 您是否尝试在 POST 请求中添加user
  • 不工作,因为在我的数据库中我的表中没有“用户”

标签: express postman


【解决方案1】:

像这样修改你的代码。它应该工作

// Add a new user  
app.post('/user', function (req, res) {

    let user = [req.body]
    console.log(user);

    if (!user) {
        return res.status(400).send({ error:true, message: 'Please provide user' });
    }

    dbConn.query("INSERT INTO users SET ? ", user, function (error, results, fields) {
        if (error) throw error;
        return res.send({ error: false, data: results, message: 'New user has been created successfully.' });
    });
});

您的代码显示此错误消息 error:true, message: 'Please provide user,因为每次在您的代码中都会执行条件 if (!user),因为 let user = req.body.user 将给出 undefined 值,因此您将收到该错误,并且其余代码将永远不会执行 .

【讨论】:

  • 它的工作非常感谢你!我的请求 put(update) 我有同样的问题我有 let user_id = req.body.user_id; let user = [req.body]; 任何想法?
  • 不,更新数据库中的数据,你必须像let user_id = req.params.user_id 这样输入user_id,你还必须将它传递给url/user/${id},然后只写sql更新命令
猜你喜欢
  • 1970-01-01
  • 2019-05-06
  • 2021-07-13
  • 1970-01-01
  • 1970-01-01
  • 2019-05-06
  • 2022-01-25
  • 2019-06-15
  • 2015-06-08
相关资源
最近更新 更多