繁体   English   中英

request.body.email是使用http.get的未定义节点js服务器端

[英]request.body.email is undefined node js server side using http.get

我有一个问题,其中request.body.email返回我未定义。 我在客户端的控制器上编写了以下代码:

 wish.controller('wishCtrl',['$scope','$http','$cookies',function($scope,$http,$cookies) {
    var user={};
    user.email = $cookies.get('cookieEmail');
    console.log(user.email);
     $http.get("http://localhost:3000/wishlist",user).success(function(data){

        $scope.wishController = data; 
        console.log(data);
    });

}]);

我在这里看到-user.email,确定,所以这里没有问题。

在服务器端的控制器上,我写道:

exports.getData = function(request, response) {
    userEmail = request.body.email;
    console.log(userEmail);
}

这给我写了不确定的信息。 调用我在server.js(在服务器端)上的此函数

app.get('/wishlist',wish.getData);

任何想法如何解决?

您正在发出GET请求。 GET请求中没有请求正文。

如果要读取查询字符串数据,请解析request.url

getAngular文档说,最后一个参数必须是配置对象。 因此,您似乎甚至都没有设法将数据放在URL中。 也通过配置。

$http.get("http://localhost:3000/wishlist",user, {})

因为我没有功能必须通过这种方式在客户端传递电子邮件:

$http.get("http://localhost:3000/wishlist/"+user.email)

服务器的路径应以这种方式识别它:

app.get('/wishlist/:email',wish.getData);  

然后以这种方式设置控制器:

userEmail = request.params.email;
console.log(userEmail);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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