通过使用Angularjs Expressjs Node和MEAN.js的POST方法将数组传递给$ resource

我想要传递一个数组$ save在$ resource方法,然后在我的服务器控制器接收它来修改数据库中的数据。

我可以在GET中传递一个variables,它工作得很好! 但是我想要通过的数组似乎不工作!

我没有收到我的控制台中的任何错误。
我正在使用MEAN.js和POST和GET请求似乎工作(绿色200),但是当我调用req.body.variable1来访问我通过$ save方法传递的variables它不起作用。

我可以同时拥有POST和GET方法吗?

我将不胜感激任何帮助或暗示,这将导致正确的答案。 谢谢!

资源工厂

angular.module('alls').factory('Alls', ['$resource', function($resource) { return $resource('alls/:issuename', {issuename: '@issuename'}, { get:{ method: 'GET', isArray:true } }); }]); 

客户控制器

 angular.module('alls').controller('AllsController', ['$scope', '$stateParams', '$location', 'Authentication', 'Alls', function($scope, $stateParams, $location, Authentication, Alls ) { $scope.search = function(){ Alls.get({issuename: $scope.issueinput},function(response){ $scope.alls = response; }); var myArray = new Alls ({ variable1: 'Blue', variable2: 'Red' }); myArray.$save(); }; } ]); 

服务器路由

 module.exports = function(app) { var alls = require('../../app/controllers/alls.server.controller'); app.route('/alls') .get(alls.list) .post(alls.list); app.route('/alls/:issuename') .get(alls.list) .post(alls.list); app.param('issuename', alls.searchfun); }; 

服务器控制器

  exports.searchfun = function(req, res, next, id) { req.alpha = id; next(); }; exports.list = function(req, res) { var colorVar = req.body.variable1; var searchParam = req.alpha; mongoose.model(searchParam).find({ color: colorVar }).sort('-created').exec(function(err, alls) { res.jsonp(alls); }); }; 

它看起来像你的$资源url和你的$路线不匹配。 根据你的文件夹结构,你需要添加一个斜杠到你的$资源url这样的…

 return $resource('/alls/:issuename', {issuename: '@issuename'}, { get:{ method: 'GET', isArray:true } }); }]);