Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Angularjs $resource – 不能将数组作为参数传递大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图从AngularJS传递一个数组到我们的API.然而,当发送时,重复参数而不是作为数组发送.这是我的代码
angular.module('sigApp.services',['ngresource']).
    // Fetch cases from server
    service('caseFetcher',['$resource',function($resourcE) {
        this.getCases = function(params) {
            console.log('params: ',params);
            return $resource('/v1/cases/',params);
        };
    }]);

这是生成的URL(缩写):/ v1 / cases?status = OPEN& status = HelD

这是我想要的URL:/ v1 / cases?status [0] = OPEN& status [1] = HelD(aka?status [0] = OPEN& status1 = HelD)

以下是上面代码中记录的对象的屏幕截图:

我已经尝试了最新版本的angularjs(1.2rc1),并尝试了Restangular插件.无论我尝试什么,我得到的参数通过多次,而不是数组格式.我们的API无法使用相同键的多个值.

有任何想法吗?

编辑:当另一个问题(AngularJS: ngResource and array of object as params to URL)不是这样的时候,有几个人把这个标记为重复.另一个问题涉及通过POST发送数组,并且我正在尝试执行一个GET请求(认情况下设置为isArray:truE),并且我想只传递一个数组的参数,哪个答案似乎不帮我.有人可以帮忙吗?

更新我在下面回答了我自己的问题,但评论说,我给任何谁遇到这个问题的更多的信息.我们正在使用Play Framework 2.1作为后端.我无生成最初发布在上面的编号数组,但是可以让它只是一个非索引数组,因此这是最终生成的URl.

/ v1 / cases?status [] = OPEN& status [] = HelD(aka?status [] = OPEN& status [] = HelD)

希望这有助于别人

我通过改变params被设置为$资源的方式来解决了我自己的问题.代替:
$scope.params.status = ['OPEN','HelD'];

我用了:

$scope.params["status[]"] = ['OPEN','HelD'];

这允许我根据需要检索服务器上的值.

大佬总结

以上是大佬教程为你收集整理的Angularjs $resource – 不能将数组作为参数传递全部内容,希望文章能够帮你解决Angularjs $resource – 不能将数组作为参数传递所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。