Q:

Send array via GET request with AngularJS' $http service

I need to send a GET request using the $http service.  One of the parameters will be an array of ids.  The url looks like this one mysite.com/items?id[]=1&id[]=2&id[]=3&id[]=4
I tried this approach
$http(
  method: 'GET',
  url: '/items',
  params: {
    id: ids // ids is [1, 2, 3, 4]
  }
)

but the url I obain is mysite.com/items?id=%5B%221%22%2C%222%22%2C%223%22%2C%224%22%5D
That's Because Angular is converting my value in a JSON string.  Is there a way to get the behavior I want? 
[Update]
I solved the issue thanks to Jonathan's suggestion using jQuery's $.param(). 
$http(
  method: 'GET'
  url: '/items?'  + $.param({id: ids})
)

A:

You can also just do
$http(
  method: 'GET',
  url: '/items',
  params: {
    "id[]": ids // ids is [1, 2, 3, 4]
  }
)

as mentioned here.  Seems simpler. 

A:

$http(
  method: 'GET',
  url: '/items',
  params: {
    id: JSON.stringify(ids) // ids is [1, 2, 3, 4]
  }
)

A:

jQuery is great but if your adding jQuery just for this then you could probably do with a non jQuery way and save some precious bytes. 
Non jQuery way : 
$http(
  method: 'GET',
  url: '/items',
  params: {
    id: ids.toString() //convert array into comma separated values
  }
)

On your server convert it back to an array. 
Eg.  in php
$ids = explode(',',Input::get('ids'));

//now you can loop through the data like you would through a regular array.  

foreach($ids as $id)
{
 //do something
}

