【问题标题】:How can I insert request body into a MySQL database using express js?如何使用 express js 将请求正文插入 MySQL 数据库?
【发布时间】:2020-01-17 03:27:39
【问题描述】:

所以我正在尝试用MySQLExpress JS 制作一个小api,在网上看了一个关于如何使用MySQLExpress 的小教程之后,我尝试制作这个api 并使用@ 发送请求987654325@,要插入我使用邮递员发送的数据,我在代码中使用了req.body.data 语法,我尝试使用INSERT INTO table (col1, col2) VALUES (val1, val2) 的经典SQL 语法,对请求正文使用插值,我还尝试了SET ?我在看的教程中看到了。尝试使用邮递员发送请求时,我不断收到Cannot read property 'title' of undefined 错误。如何插入使用邮递员发送到表的数据?

JavaScript

app.get('/addtodo' , (req, res) => {
    let sql = 'INSERT INTO todo SET ?'
    let post = {
        title: req.body.title,
        body : req.body.body,
        date: req.body.date,
        importance: req.body.importance
    }
    db.query(sql, post, (err, res) => {
        if(err) throw err;
        console.log('success');
        console.log(res);
    });
});

【问题讨论】:

    标签: javascript mysql node.js express postman


    【解决方案1】:

    使用 Post 方法代替 get 因为你不能在 get 方法中传递 body

    app.post('/addtodo' , (req, res) => {
        let sql = 'INSERT INTO todo SET ?'
        let post = {
            title: req.body.title,
            body : req.body.body,
            date: req.body.date,
            importance: req.body.importance
        }
        ...
    });
    

    【讨论】:

      【解决方案2】:

      GET 请求没有正文,它只包含查询或参数

      【讨论】:

        【解决方案3】:

        在 javascript 代码中将 app.get(...) 更改为 app.post(...)..

        在这种情况下通过邮递员发送POST请求

        【讨论】:

          猜你喜欢
          • 2017-03-08
          • 2018-11-18
          • 2018-10-31
          • 1970-01-01
          • 2015-06-27
          • 1970-01-01
          • 1970-01-01
          • 2021-01-04
          • 1970-01-01
          相关资源
          最近更新 更多