$http get parameters不起作用



有人知道为什么这不起作用吗?

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

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的Arguments一节了解更多细节

$http.get文档中,第二个参数是一个配置对象:

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

最新更新