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

AngularJS:通过$resource使用数组类型参数发送请求(复选框,多选

发布时间:2020-12-17 17:12:36 所属栏目:安全 来源:网络整理
导读:当我的GET参数中有一个复选框(client_status)数组时,我在使用AngularJS中的$resource库发送正确序列化的GET请求时遇到问题. 这是我现在在控制器中的代码: $scope.filters = { client_status: ["CLIENT_STATUS_FORMER","CLIENT_STATUS_ACTIVE"],client_refer
当我的GET参数中有一个复选框(client_status)数组时,我在使用AngularJS中的$resource库发送正确序列化的GET请求时遇到问题.

这是我现在在控制器中的代码:

$scope.filters = {
    client_status: ["CLIENT_STATUS_FORMER","CLIENT_STATUS_ACTIVE"],client_reference: "e"
}

$scope.records = Client.get($scope.filters,function(data){
    ...
}

以上将发送以下GET请求:

f.json?client_reference=e&client_status=CLIENT_STATUS_FORMER,CLIENT_STATUS_ACTIVE

但是,根据我的理解,上面看起来似乎不是正确的格式.有人可以指导我一点吗?以下是我的期望:

f.json?client_reference=e&client_status%5B%5D=CLIENT_STATUS_ACTIVE&client_status%5B%5D=CLIENT_STATUS_FORMER

非常感谢您的帮助.

托马斯

解决方法

您可以使用$resource完成此操作,方法是将client_status更改为’client_status []’,如下所示:

$scope.filters = {
  'client_status[]': ["CLIENT_STATUS_FORMER",client_reference: "e"
}

我为此创建了一个plunker:http://plnkr.co/edit/QXIaY8XlMUfOy7RNMKKv?p=info

我在那里放了一个虚拟URL,所以如果你在运行plunker时使用Firebug或Chrome开发工具,你会看到http://example.com/api的请求显示正确添加了[]到GET请求中.

在这个问题的答案中注意到类似的解决方案:
https://stackoverflow.com/a/18322252/1866964

(编辑:李大同)

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

    推荐文章
      热点阅读