2016-11-14 122 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

不用担心,不要忘记标记答案:) –

相关问题