我有一个问题,request.body.email返回我undefined。 我在客户端的控制器上编写了这段代码:
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);
任何想法如何修复它?
答案 0 :(得分:0)
您正在发出GET请求。 GET请求中没有请求正文。
如果您想阅读查询字符串数据,请parse request.url。
Angular documentation for get表示最后一个参数必须是配置对象。因此看起来您甚至无法将数据放入网址中。也传递配置。
$http.get("http://localhost:3000/wishlist",user, {})
答案 1 :(得分:0)
因为我没有得到功能必须以这种方式在客户端传递电子邮件:
$http.get("http://localhost:3000/wishlist/"+user.email)
并且服务器的路径应该以这种方式识别它:
app.get('/wishlist/:email',wish.getData);
并以这种方式控制控制器:
userEmail = request.params.email;
console.log(userEmail);