【发布时间】:2023-04-10 02:32:01
【问题描述】:
我正在 Postman 上测试我的 post 方法。 每当我发布结果时,它都会显示空数组 []。 我在节点端进行控制台记录,它也返回空数组。
CREATE TABLE users (
user_id SERIAL PRIMARY KEY,
username TEXT,
email TEXT,
password TEXT
)
INSERT INTO users (username, email, password) VALUES ($1, $2, $3);
app.post('/api/users', function(req, res, next) {
db.post_user([req.body.username, req.body.email, req.body.password], function(err, user) {
console.log(user);
if(err) res.status(500).send(err);
else res.json(user);
})
})
var express = require('express');
var bodyParser = require('body-parser');
var session = require('express-session');
var cors = require('cors');
var massive = require('massive');
var config = require('./config');
var app = express();
app.use(bodyParser.json());
app.use(cors());
var db = massive.connect({connectionString: config.connectionString}, function(err, localdb){
db = localdb;
app.set('db', db);
});
app.get('/api/users', function(req, res, next) {
db.get_users(function(err, users) {
if(err) res.status(500).json(err);
else res.json(users);
})
})
app.post('/api/users', function(req, res, next) {
db.post_user([req.body.username, req.body.email, req.body.password], function(err, user) {
console.log(req.body);
if(err) res.status(500).send(err);
else res.json(user);
})
})
app.listen(3000, function() {
console.log("I am listening");
})
【问题讨论】:
-
请显示更多节点代码。
-
你有
console.log'dreq.body并确保你的帖子数据通过了吗? -
据我所知,它与
db.post_user有关。你能告诉我们这是在做什么吗?或者它可能是@RobM。建议。如果使用express,请确保您使用的是body-parser。 -
放所有节点代码。 @GaryJohnson post_user 是执行 INSERT INTO users (username, email, password) VALUES ($1, $2, $3);
-
因为你没有返回任何东西。您的
RETURNING *查询部分在哪里?它甚至不存在,所以你期待什么?
标签: javascript node.js postgresql express