Параметры $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
});
Ответы
Ответ 1
Второй параметр в вызове 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
Ответ 2
Из $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
}
});
В качестве побочного примечания, поскольку Angular 1.6: .success
больше не следует использовать, вместо этого используйте .then
:
$http.get('/url', config).then(successCallback, errorCallback);