POST请求返回[对象,对象]

时间:2016-09-30 00:42:07

标签: javascript node.js postgresql express post

我正在尝试发送POST请求(使用邮递员)在PostgreSQL数据库中创建一个条目。但是,目前我的POST请求正在返回[object,Object],我无法找出原因。

以下是处理请求的代码。

//enable the router
app.use('/', router);

//Create 
router.post('/api/v1/todos', (req, res, next) => {
  const results = [];
  console.log("Congrats you hit the create function!!");

  //grab data from http-request, 'complete' is from a boolean value in the database
  const data = {text: req.query.text, complete: false };

  //give error if not recieving a request 
  if(!req.query.text) res.send(400, "The Request data is: " + req.query);

  //get a prostgres client from the connection pool
  pg.connect(connectionString, (err, client, done) => {
    //handle connection errors
    if (err) {
      done();
      console.log(err);
      return res.status(500).json({success: false, data: err});
    }

    //SQL Query -> Insert Data
    client.query('INSERT INTO items(text, complete) values($1,$2)', 
    [data.text, data.complete]);

    //SQL Query -> Select Data
    const query = client.query("SELECT * FROM items ORDER BY id ASC");

    //Stream results back one row at a time
    query.on('row', (row) => {
      results.push(row);
    });

    //After all data is returned, close connection and return the results
    query.on('end', () => {
      done();
      return res.json(results);
      //return res.json(data);
    });
  });
});

这是我的POST POST image

为什么我的数据会返回对象?我该怎么做才能解决这个问题?

Here is my full code

1 个答案:

答案 0 :(得分:2)

您将字符串与对象连接,这会将对象转换为[object Object]形式的字符串。

这是您的问题:if(!req.query.text) res.send(400, "The Request data is: " + req.query);

req.query是一个对象(您只是检查文本属性是否存在)并且您将字符串连接到该对象。