This seems really close but it has two issues.  

1) The payload sends the value as* filter[1188]:1* but the API looks for a 
static name that is followed by the actual value selection such as 
*filter[name]:1188*. 

2) The other issues is that it seems to send off without any encoding 
(I.E. http://run.plnkr.co/url?include=playing&sort=-id&filter%5B1188%5D=1) 
which will more then likely cause an issue on the server side.

On Tuesday, December 1, 2015 at 1:21:57 AM UTC-6, Vaibhav Gupta wrote:
>
> Hi,
>
> This custom code can be handled in LFGFactory. Please find the plunk for 
> this below. I have used jquery's param 
> <http://api.jquery.com/jquery.param/> function to convert array into 
> query parameter.
>
> http://plnkr.co/edit/974lrDNhbU9jeIs1LoZg?p=preview
>
> Hope this helps.
>
> Regards,
>
> Vaibhav Gupta
>
> On Monday, 30 November 2015 12:00:19 UTC+5:30, [email protected] wrote:
>>
>> I'm currently working with an API that uses array style query parameters 
>> to filter items but I'm not quite sure how to get this working in Angular.
>>
>> In my example below I have a drop down that takes the ng-model of the 
>> selection and applies this to the list of paramenters and then fires a 
>> method to filter my list. Normally that is simple when dealing with normal 
>> key value. However in this case the URL calls for something like the 
>> following:
>>
>>
>> example.com/api/list?filter[number]=1
>>
>>
>> My current set up looks like so
>>
>>
>> $scope.paramers = {
>>     include: 'playing', 
>>     sort: '-id'};
>> $scope.refresh = function () {
>>     LFGFactory.query($scope.paramers, function success (response) {
>>         $scope.loading = true;
>>         var data = response.data;
>>         if (data.length >= 1) {
>>             $scope.rowList = data;
>>             $scope.loading = false;
>>         } else {
>>             $scope.loading = false;
>>         }
>>     },
>>     function err (data) {
>>         console.log(data);
>>     });};
>>
>>
>> While my view looks like so:
>>
>>
>>         <div class="form-group pull-right">
>>             <select id="plat-sel" name="plat-sel" class="form-control" 
>> ng-model="paramers.filter" ng-change="refresh()">
>>                 <option value="" disabled selected>Filter by 
>> Platform</option>
>>                 <option value="1183">Xbox One</option>
>>                 <option value="1184">PlayStation 4</option>
>>                 <option value="1182">PC</option>
>>                 <option value="1188">Wii U</option>
>>                 <option value="1186">Xbox 360</option>
>>                 <option value="1185">PlayStation 3</option>
>>             </select>
>>         </div>
>>
>>
>> Normally this would be fine if all I wanted was to add filter:'1' to the 
>> existing $scope.paramers object. However I need to somehow add 
>> filter[number] = 1 instead. How would I go about this with ng-model and my 
>> current set up?
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to