I am testing my post method on Postman. Whenever I post the result it would display empty array []. I console logged it on the node side and it returns empty array as well.
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);
})
})
I am not exactly sure why I am getting empty array instead of actual data passing in.
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");
})
Because you need to do something like:
let query = "INSERT INTO users (username, email, password) VALUES (?, ?, ?)"
let values = [req.body.username, req.body.email, req.body.password]
connection.query(query, values).then(function(user...)
Depend of what Library are you using
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.