Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 以角度使用资源服务转换请求数据_Javascript_Angularjs - Fatal编程技术网

Javascript 以角度使用资源服务转换请求数据

Javascript 以角度使用资源服务转换请求数据,javascript,angularjs,Javascript,Angularjs,我正试图将数据数组发送到服务器。我发现这篇文章讨论了如何发送数组,但我无法让它工作 我遇到的问题是,我的资源会以JSON的形式返回给我,如下所示 { Results: [] } 所以当我要求我的资源时 var collaboratorResource = api.CollaboratorList.get({Id: Id }); 但是,如果我尝试像 collaboratorResource.$save($scope.collaborators); 当我查看firebug时,它显示我

我正试图将数据数组发送到服务器。我发现这篇文章讨论了如何发送数组,但我无法让它工作

我遇到的问题是,我的资源会以JSON的形式返回给我,如下所示

{
Results: []
}
所以当我要求我的资源时

    var collaboratorResource = api.CollaboratorList.get({Id: Id });
但是,如果我尝试像

collaboratorResource.$save($scope.collaborators);
当我查看firebug时,它显示我的数据正在作为

{
Results: []
}
实际上,我不想将数组作为结果属性作为对象发送数据。我想以数组的形式发送它
[]
。我需要这样做,因为api是遗留的,并且期望这样做

我一直在试着看看transformRequest是否有效,就像我一样

collaboratorResource.$save({data: $scope.collaborators, transformRequest: function (data, headers) { return data.results; }});
collaboratorResource.$save({}, $scope.collaborators);
collaboratorResource.$save($scope.collaborators);
但这似乎也不起作用。这可能吗?另一方面,如果我像这样使用$http,它可以工作:

$http({ method: "POST", data: $scope.collaborators, url: collaboratorUrl });

我只是不知道如何正确使用$resource服务,因为如果可能的话,我更喜欢将所有内容都封装在$resource中,如果可能的话,不要将两者混合使用。谢谢。

只是一个猜测,试试这个语法:
collaboratoresource.$save({},$scope.collaborators,function(result){
@tymeJV这样,数据还是以
{results:[]}
的形式发送的,啊,该死的……好吧,试试看:
collaboratoresource.$save($scope.collaborators)
-省略
{
应该把数组附加到主体上。@tymeJV是的,我也试过了。我忘了把它放在我的问题中。我会编辑它。双重该死…我刚才也遇到过同样的问题,结果只是使用了
$http
-希望有人能找到解决方案。