93

Does anyone know why this does not work?

$http
    .get('accept.php', {
        source: link,
        category_id: category
    })
    .success(function (data, status) {
        $scope.info_show = data
    });

and this does work:

$http
    .get('accept.php?source=' + link + '&category_id=' + category)
    .success(function (data, status) {
        $scope.info_show = data
    });
Mistalis
  • 17,793
  • 13
  • 73
  • 97
kahonmlg
  • 3,839
  • 3
  • 17
  • 21

2 Answers2

192

The 2nd parameter in the get call is a config object. You want something like this:

$http
    .get('accept.php', {
        params: {
            source: link,
            category_id: category
        }
     })
     .success(function (data,status) {
          $scope.info_show = data
     });

See the Arguments section of http://docs.angularjs.org/api/ng.$http for more detail

oxfn
  • 6,590
  • 2
  • 26
  • 34
dnc253
  • 39,967
  • 41
  • 141
  • 157
  • Note, using `params` as above also resolves the problem of GET requests not using `data`. AngularJS will not sort this out itself as jQuery does. (I don't think that's a good or bad thing, just different and may trip people up). – DanielM Mar 16 '15 at 11:54
  • I am getting undefined for my key value properties inside of the params object. Should this be different in a service? – Winnemucca Aug 28 '15 at 19:48
  • 2
    Also, when the `params` object is empty, or all its properties are `null` or `undefined`, nothing will be added to the query string. – nfang Jan 22 '16 at 04:36
3

From $http.get docs, the second parameter is a configuration object:

get(url, [config]);

Shortcut method to perform GET request.

You may change your code to:

$http.get('accept.php', {
    params: {
        source: link, 
        category_id: category
    }
});

Or:

$http({
    url: 'accept.php', 
    method: 'GET',
    params: { 
        source: link, 
        category_id: category
    }
});

As a side note, since Angular 1.6: .success should not be used anymore, use .then instead:

$http.get('/url', config).then(successCallback, errorCallback);
Community
  • 1
  • 1
Mistalis
  • 17,793
  • 13
  • 73
  • 97