angularjs - 如何使用 Restangular 通过 GET 发送参数数组

标签 angularjs restangular

我必须通过 API 中的 get 参数发送一组过滤器,如下所示:

/myList?filters[nickname]=test&filters[status]=foo

现在,如果我像这样直接发送一个对象:
Restangular.one('myList').get({filters: {
    nickname: 'test',
    status: 'foo'
}});

真正发送的查询是
?filters={"nickname":"test","status":"foo"}

如何发送一个真正的数组?
我应该考虑替代方案吗?

最佳答案

我找到了一种方法,我必须遍历过滤器对象以创建一个名称为 [] 的新对象:

var query = {};
for (var i in filters) {
    query['filters['+i+']'] = filters[i];
}

Restangular.one('myList').get(query);

生产:
&filters%5Bnickname%5D=test

有人有更好的解决方案吗?

关于angularjs - 如何使用 Restangular 通过 GET 发送参数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18447146/

相关文章:

angularjs - 如何动态更新 angular-ui (bootstrap) popover 内容

angularjs - ng-checked 对复选框不起作用

angularjs - 如何处理 Restangular 上的分页内容范围?

javascript - Angularjs:如何更新使用我无法控制的外部代码所做的 DOM 更改?

javascript - 从 ui-select 框中进行选择后,所选择的选项不会像所选择的那样粘贴(不可见)

javascript - AngularJS 和 jQuery...同时使用两者有什么问题?

javascript - 如何使用 Restangular 检查两个同时请求的完成情况

javascript - 使用 Restangular 并尝试将多个参数设置为 $scope 中的 var

angularjs - 如何从父对象重新调整集合中的项目

javascript - 在 Angular 中使用 Restangular 编辑模型会破坏 PUT,因为 Restangular 会附加模型 ID