AngularJS:ngResource和对象的数组作为PARAMS到URL [英] AngularJS: ngResource and array of object as params to URL
问题描述
我有变量 $ scope.data = {[柱:年龄,经营者:>中,值:50},{列:名称,运算符:= 值:同德}]
。和提交数据到服务器服务:
I have variable $scope.data= [{column:"age", operator: ">", value: "50"}, {column:"name", operator: "=", value: "Tonda"}]
. And service for submitting data to server:
angular.module('myServices', ['ngResource']).
factory('serverApp', function($resource, $scope){
return $resource('myurl/', {}, {
saveData: {method:'POST', params: $scope.data}
});
});
为什么URL中包含胡说八道,称后`serverApp.saveData()? ? - ... / myurl 0 =%5Bobject +对象%5D&放大器; 1 =%5Bobject +对象%5D - 看来,这PARAMS只能是简单的(1D)对象
Why URL contains "nonsense" after calling `serverApp.saveData()? - .../myurl?0=%5Bobject+Object%5D&1=%5Bobject+Object%5D - It seems, that params can be only simple (1D) object.
我怎样才能正确序列化对象 $ scope.cfgcondition
进入服务PARAMS serverApp
(如到URL) ?谢谢你。
How can I properly serialize object $scope.cfgcondition
into params of service serverApp
(eg. to URL)? Thanks.
推荐答案
在'参数'属性定义URL查询参数,我以为意的行为。如果这只是一个简单的对象,而不是一个数组,那么你可以只使用$保存像
The 'params' attribute defines URL query params, which I assume is intended behavior. If it was just a simple object, not an array, then you could just use $save something like
var MyRequest = $resource('/notreally');
$scope.data = new MyRequest;
// get stuff into $scope.data
$scope.doSubmit = function() { $scope.data.$save(); }
要发布你需要定义自己的行动,并作为第二个参数传递数据的数组。
To post an array you need to define your own action and pass the data in as second parameter.
$scope.data= [{column:"age", operator: ">", value: "50"},
{column:"name", operator: "=", value: "Tonda"}];
var MyRequest = $resource('/notreally', {}, {saveData: {method:'POST', isArray: true}});
$scope.doSubmit = function() { MyRequest.saveData({}, $scope.data);
http://docs.angularjs.org/api/ngResource 。$资源
https://docs.angularjs.org/api/ngResource/service/$resource一>
*编辑,以解决有关阵列错报 - !我还以为$资源无法发布数组,但是想通了,我错了。
*Edited to fix misstatements regarding arrays - I thought $resource could not POST arrays, but figured out that I was wrong!
这篇关于AngularJS:ngResource和对象的数组作为PARAMS到URL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!