我尝试存储用户在我的服务器中点击的对象,以便在页面更改时,该对象的所有信息都可以完整显示在个人资料页面中。
我不熟悉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时出现了问题
答案 0 :(得分: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())
。