加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Angularjs $resource – 不能将数组作为参数传递

发布时间:2020-12-17 09:29:40 所属栏目:安全 来源:网络整理
导读:我试图从AngularJS传递一个数组到我们的API.然而,当发送时,重复参数而不是作为数组发送.这是我的代码: angular.module('sigApp.services',['ngResource']). // Fetch cases from server service('caseFetcher',['$resource',function($resource) { this.get
我试图从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'];

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读