如何使用$ http POST传递对象参数并在Nodejs服务中访问

时间:2018-05-15 20:25:08

标签: javascript angularjs node.js http http-post

我创建了一个POST请求,我发送一个param到服务器,在服务器端我得到的错误就像找不到数据一样。

客户js

var postData= JSON.stringify({name:"Alex",age:"34"});
var deferred = $q.defer();

            $http.post(appSettings.baseUrl + '/users', postData)
                .success(function (response) {
                    deferred.resolve(response)
                }).error(function (error) {
                    deferred.reject('Failed to connect');
                });


            return deferred.promise;
        }

Serverjs(Nodejs)

app.post('/api/users', function (req, res) {
    var user = req.body.postData;
   // user is not getting in server
    });
});

我无法在服务器中获取postData。

1 个答案:

答案 0 :(得分:1)

您正尝试使用请求访问正文中发送的数据的postDate属性,并且您没有发送任何具有postData属性的对象。

如果您签入节点后端日志记录console.log(req.body),我确信您正在获取

{name:"Alex",age:"34"}

您应该访问此处的任何媒体资源,例如req.body.namereq.body.age

如果您想使用任何属性名称访问正文上的完整对象,最好使用属性名称

发送它
$http.post(appSettings.baseUrl + '/users', {"postData" : postData})