资源上的空体。$ save

时间:2014-07-13 02:36:52

标签: node.js angularjs mongodb mean-stack

所以我尝试了

的建议

但我仍然得到一个空的req.body

我可以做得很好,甚至传递一个id来获取。但我似乎无法POST并将数据传输到服务器。

控制器:

.controller("createEventController", ["$scope", 'CreateEventService', '$location', function($scope, CreateEventService, $location){
    $scope.event = {};

    $scope.submitEvent = function(){
        console.log($scope.event);
        var events = new CreateEventService($scope.event);

        console.log(events);

        events.save(function(response){
            console.log(response);
        }, function(error){
            console.log(error);
        });

    }
}])

服务

factory('CreateEventService', function($resource){      
   return $resource('api/createEvent');
});

3 个答案:

答案 0 :(得分:2)

events.save(...)更改为events.$save(...)

答案 1 :(得分:1)

您应该使用bodyParser.json()$resource默认情况下会使用标头"Content-Type": "application/json;charset=UTF-8"发送他的请求,而bodyParser.json()没有{{1}}您的API无法处理请求内容。

答案 2 :(得分:0)

如果使用express 4.1.2,尽管它已经不赞成使用了bodyParser(),而且

app.use(bodyParser.urlencoded({
extended: true
}));

出于某种原因,给了我一个空洞的身体。无论出于何种原因,没有 urlencoded 之前崩溃了我的服务器(我认为旧的快速版本)。只需将其更改回(使用快速4.1.2)

app.use(bodyParser());

并修复。我还删除了因为导致我的服务器挂起的methodOverride()。如果有人知道更多正确的方法,我将不胜感激。