【发布时间】:2016-09-30 08:49:53
【问题描述】:
我正在尝试发送一个 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);
});
});
});
为什么我的数据返回对象?我该怎么做才能解决这个问题?
【问题讨论】:
-
您在此处将对象转换为字符串:
res.send(400, "The Request data is: " + req.query);。对象的默认字符串表示为[object Object]。将以下内容粘贴到浏览器的控制台中,自己尝试一下:("Object string representation:" + {})。 -
“我能做些什么来解决这个问题?” 只是不这样做?你还想要什么其他行为?我也不确定您正在寻找什么样的答案/解决方案。
-
@FelixKling 这告诉我我想知道的,谢谢!无论如何,我的数据库中没有任何内容,所以我现在需要弄清楚为什么
标签: javascript node.js postgresql express post