2017-03-13 2 views
0

Ich teste meine post-Methode auf Postman. Immer wenn ich das Ergebnis poste, würde es leeren Array [] anzeigen. Ich Konsole protokolliert es auf der Knotenseite und es gibt auch leere Array zurück.Knoten, der leeres Array als Ergebnis erhält, wenn Postenanforderung

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); 
    }) 
}) 

Ich bin nicht ganz sicher, warum ich leeres Array bin immer anstelle der tatsächlichen Daten im Vorbeigehen enter image description here

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"); 
}) 
+1

Bitte zeigen Sie mehr Knotencode. – lin

+2

Haben Sie 'console.log''d' req.body' und sichergestellt, dass Ihre Postdaten durchkommen? –

+1

Von dem, was ich sehe, hat es etwas mit 'db.post_user' zu tun. Kannst du uns zeigen, was das macht? Oder es könnte was @RobM sein. empfohlen. Stellen Sie sicher, dass Sie 'body-parser' verwenden, wenn Sie' express' verwenden. –

Antwort

0

Weil Sie so etwas wie zu tun:.

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 von Welche Bibliothek verwenden Sie?