具有子数组的复杂查询字符串到restangular getList参数

时间:2015-08-12 00:18:17

标签: javascript asynchronous restangular

我有一个复杂的查询字符串,我正在尝试将其转换为一个返回promise对象的restangular getList()方法。查询字符串当前的格式如此(并且端点喜欢它):

?Columns[0].key=FirstName
&Columns[0].value=p
&Columns[1].key=LastName
&Columns[1].value=p
&Joins[0].table=Role
&Joins[0].key=Name
&Joins[0].value=admin
&sortdirection=asc
&sortColumn=Name

如何格式化下面的params对象以使getList方法返回?

Restangular.all('users').getList(params);

我已经尝试了很多方法将它格式化为Json,而Restangular确实将值放入查询字符串中,它的格式是端点不识别数组元素,只识别sortdirection和sortcolumn元件。

1 个答案:

答案 0 :(得分:0)

首先,您可以查看官方Restangular Github上的getList method definition。如您所见,如果您需要使用参数,则必须查询 subElement 属性:

Restangular.getList('users',params);

为了正确发送你的query-params,你需要构建一个干净的json对象。在你的情况下:

var params = { 'columns' : [{'key':'FirstName','value': 'p'},  {'key':'LastName','value':'p'}],
               'joins': [{'table' : 'Role', 'key' : 'Name', 'value': 'admin'}],
               'sortdirection':'asc',
               'sortColumn': 'Name'
             }