所以我尝试了
的建议- AngularJS post空请求? AngularJS $resource RESTful示例
- 在$resource上发送请求正文
但是我仍然得到一个空的request。body
我可以做一个get很好,甚至为get传递一个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');
});
将events.save(...)
更改为events.$save(...)
您应该使用bodyParser.json()
。$resource
,默认情况下发送他的请求与头"Content-Type": "application/json;charset=UTF-8"
和没有bodyParser.json()
你的API是无法处理请求内容。
如果使用express 4.1.2,尽管它担心bodyParser()被弃用,但是
app.use(bodyParser.urlencoded({
extended: true
}));
由于某种原因,给了我一个空的身体。无论出于何种原因,没有urlencoded之前崩溃了我的服务器(我认为是旧的express版本)。只要把它改回(使用express 4.1.2)
app.use(bodyParser());
和固定的。我还删除了methodOverride(),因为这导致我的服务器挂起。如果有人知道更正确的方法,我将不胜感激。