2016-11-14 110 views
0

我試圖來存儲我的用戶在我的服務器點擊的對象,這樣當頁面的變化,可以顯示所有來自該對象的信息完全在配置文件頁面中。

我不熟悉Angular $ http,但我試過寫一個調用POST的服務器,不幸的是,當我掃描VScode中的req對象時我找不到我發送的對象在哪裏,所以我可以把它發送到我的功能。

控制器功能:

$scope.storeProfile = function(child){ 
    $http.post('/storeTempProfile', child) 
    .then(function(response) { 
     window.location.href = 'DemoPage.html'; 
    }); 
} 

server.js:

app.post('/storeTempProfile', function (req, res) { 
    profileStorage.storeProfile(req); 
}); 

沒有我app.post是否正確? req我需要使用點運算符來訪問我的對象嗎?我似乎無法在任何地方req找對象的數據,這讓我的事情有什麼毛病我怎麼寫app.post

回答

1

看起來你正在使用快遞。因此,在這種情況下,您想訪問req.body上的對象,但這需要您使用body-parser。在他們的主頁上的例子:

var express = require('express') 
var bodyParser = require('body-parser') 

var app = express() 

// create application/json parser 
var jsonParser = bodyParser.json() 

// POST /api/users gets JSON bodies 
app.post('/api/users', jsonParser, function (req, res) { 
    if (!req.body) return res.sendStatus(400) 
    // create user in req.body 
}) 

你會注意到在這個例子中,他們將json解析器傳遞到路由本身。如果你想爲不同的路由有不同的解析器,這是唯一必要的。通常你只是想把它設置爲所有路線,你可以使用app.use(bodyParser.json())

+0

現在你需要安裝你可能需要的任何相關模塊。 –

+0

謝謝!我會試試這個。所以它帶有快遞? 編輯:試過了。像魔術一樣工作。謝謝! – Ryan

+0

不用擔心,不要忘記標記答案:) –

相關問題