Javascript 使用Angularjs Expressjs节点和MEAN.js通过POST方法将数组传递给$resource
我想在$resource方法中将一个数组传递给$save,然后在我的服务器控制器中接收它,以修改数据库中的数据 我可以在GET中传递一个变量,它工作得很好! 但我想通过的阵列似乎不起作用 我的控制台中没有收到任何错误。Javascript 使用Angularjs Expressjs节点和MEAN.js通过POST方法将数组传递给$resource,javascript,angularjs,node.js,express,mean-stack,Javascript,Angularjs,Node.js,Express,Mean Stack,我想在$resource方法中将一个数组传递给$save,然后在我的服务器控制器中接收它,以修改数据库中的数据 我可以在GET中传递一个变量,它工作得很好! 但我想通过的阵列似乎不起作用 我的控制台中没有收到任何错误。 我使用的是MEAN.js,POST和GET请求似乎都在工作(绿色200),但当我调用req.body.variable1来访问通过$save方法传递的变量时,它不工作 我可以在同一页上同时使用POST和GET方法吗 我将感谢任何帮助或提示,这将导致正确的答案。 谢谢 资源工厂 a
我使用的是MEAN.js,POST和GET请求似乎都在工作(绿色200),但当我调用req.body.variable1来访问通过$save方法传递的变量时,它不工作 我可以在同一页上同时使用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();
};
} ]);
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);
}); };
服务器路由
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); };
服务器控制器
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();
};
} ]);
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);
}); };
看起来您的$resource url和$route不匹配。根据您的文件夹结构,您需要向$resource url添加斜杠,如下所示
返回$resource('/alls/:issuename',{issuename:'@issuename'},
{
get:{method'get',isArray:true}
});
}]);代码>