繁体   English   中英

尝试将对象从客户端发送到服务器(AngularJS $ http.post)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM