我必须像这样通过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 - 如何使用REST通过GET发送参数数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18447146/

10-12 03:30