web-dev-qa-db-ja.com

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

get呼び出しの2番目のパラメーターは、構成オブジェクトです。次のようなものが必要です:

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

詳細については、 http://docs.angularjs.org/api/ng.$httpArgumentsセクションを参照してください。

191
dnc253

$http.get docs から、2番目のパラメーターは構成オブジェクトです。

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