$http get параметры не работают


кто-нибудь знает почему это не работает?

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

и это работает:

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

2 ответа:

2-й параметр в тег get вызов-это объект конфигурации. Вы хотите что-то вроде этого:

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

посмотреть Аргументы раздел http://docs.angularjs.org/api/ng.$http для более подробной информации

С $http.get docs второй параметр-это объект конфигурации:

get(url, [config]);

метод быстрого доступа для выполнения GET запрос.

вы можете изменить ваш код:

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

или:

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

в качестве примечания, так как Угловое 1.6:.successне следует использовать больше используйте .then вместо:

$http.get('/url', config).then(successCallback, errorCallback);