[英]Attempting to send object from client to server (AngularJS $http.post)
我试图将用户单击的对象存储在服务器中,以便在页面更改时,该对象的所有信息都可以在个人资料页面中完全显示。
我不熟悉Angular $ http,但是我尝试编写一个将发布到服务器的调用,但是不幸的是,当我在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的方式有问题。
看来您在使用快递。 因此,在这种情况下,您想访问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())
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.