2017-03-13 59 views
0

我測試郵政方法上的郵差。 每當我發佈結果它會顯示空數組[]。 我控制檯在節點端記錄它,它也返回空數組。節點獲得空數組作爲結果時發佈請求

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

我不知道是什麼原因,我得到空數組,而不是實際的數據傳遞的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

請顯示更多節點代碼。 – lin

+2

你有'console.log''d'req.body'並確保你的發佈數據正在通過嗎? –

+1

從我看到的,它與'db.post_user'有關。你能告訴我們這是幹什麼嗎?或者它可能是@RobM。建議。如果使用'express',確保你使用'body-parser'。 –

回答

0

因爲你需要做的是這樣的:。

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...) 

依靠的你在使用什麼庫

相關問題