$ http mendapatkan parameter tidak berfungsi

93

Adakah yang tahu mengapa ini tidak berhasil?

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

dan ini berhasil:

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

Jawaban:

191

Parameter ke-2 dalam getpanggilan tersebut adalah objek config. Anda menginginkan sesuatu seperti ini:

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

Lihat bagian Argumen di http://docs.angularjs.org/api/ng.$http untuk detail lebih lanjut

dnc253
sumber
Catatan, menggunakan paramsseperti di atas juga menyelesaikan masalah permintaan GET yang tidak digunakan data. AngularJS tidak akan menyelesaikannya sendiri seperti yang dilakukan jQuery. (Saya tidak berpikir itu hal yang baik atau buruk, hanya berbeda dan mungkin membuat orang tersandung).
DanielM
Saya mendapatkan tidak terdefinisi untuk properti nilai kunci saya di dalam objek params. Haruskah ini berbeda dalam suatu layanan?
Winnemucca
2
Selain itu, saat paramsobjek kosong, atau semua propertinya adalah nullatau undefined, tidak ada yang akan ditambahkan ke string kueri.
nfang
3

Dari $http.getdokumen , parameter kedua adalah objek konfigurasi:

get(url, [config]);

Metode pintas untuk melakukan GETpermintaan.

Anda dapat mengubah kode Anda menjadi:

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

Atau:

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

Sebagai catatan tambahan, karena Angular 1.6 : .success tidak boleh digunakan lagi , gunakan .thensaja:

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