2016-09-30 143 views
0

我想發送POST請求(使用郵遞員)在我的PostgreSQL數據庫中創建一個條目。但是,目前我的POST請求正在返回[object,Object],我無法弄清楚原因。POST請求返回[對象,對象]

以下是處理請求的代碼。

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

這裏是我的崗位 POST image

爲什麼我的數據返回的對象?我能做些什麼來解決這個問題?

Here is my full code

+2

您正在將對象轉換爲字符串:'res.send(400,「請求數據爲:」+ req.query);'。對象的默認字符串表示形式是'[object Object]'。通過將以下內容粘貼到瀏覽器控制檯中來嘗試:'(「Object string representation:」+ {})'。 –

+0

*「我能做些什麼來解決這個問題?」*不要這樣做?你還想要什麼其他的行爲?我並不確定你正在尋找什麼樣的答案/解決方案。 –

+0

@FelixKling這告訴我我想知道什麼,謝謝!無論如何,我的數據庫裏沒有任何內容,所以我需要弄清楚爲什麼現在 – user3335607

回答

1

您將一個字符串與一個對象連接起來,這會將對象轉換爲形式爲[object Object]的字符串。

這是你的問題:if(!req.query.text) res.send(400, "The Request data is: " + req.query);

req.query是一個對象(你只是檢查它的文本屬性存在)和你連接字符串到該對象。