$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
});
114079 次浏览

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

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);