$http.mendapatkan(...).sukses tidak fungsi

saya memiliki kode ini:

app.controller('MainCtrl', function ($scope, $http){
  $http.get('api/url-api')
    .success(function (data, status, headers, config){
     }
}

Di daerah saya lingkungan, bekerja ok, tapi di server, kembali kesalahan ini:

TypeError: $http.mendapatkan(...).sukses tidak fungsi

Ada ide? Terima kasih

Mengomentari pertanyaan (9)
Larutan

The .sukses sintaks yang benar untuk sampai ke Sudut v1.4.3.

Untuk versi hingga Sudut v. 1.6, anda harus menggunakan kemudian metode. Kemudian() metode membutuhkan dua argumen: yang sukses dan kesalahan callback yang akan dipanggil dengan respon objek.

Menggunakan maka() metode, melampirkan balik fungsi untuk kembali janji.

Sesuatu seperti ini:

app.controller('MainCtrl', function ($scope, $http){
   $http({
      method: 'GET',
      url: 'api/url-api'
   }).then(function (response){

   },function (error){

   });
}

Lihat referensi di sini.

Jalan pintas metode juga tersedia.

$http.get('api/url-api').then(successCallback, errorCallback);

function successCallback(response){
    //success code
}
function errorCallback(error){
    //error code
}

Data yang anda dapatkan dari respon yang diharapkan akan di JSON format. JSON adalah cara yang bagus untuk mengangkut data, dan hal ini mudah digunakan hanya AngularJS

Perbedaan utama antara 2 itu .maka() memanggil kembali janji (diselesaikan dengan nilai kembali dari balik) sementara .sukses() adalah cara yang lebih tradisional mendaftar callback dan doesn't kembali janji.

Komentar (4)

Mungkin ini berlebihan tapi di atas sebagian besar memilih menjawab kata .maka(fungsi (sukses) dan't bekerja untuk saya sebagai Sudut versi 1.5.8. Alih-alih menggunakan respon kemudian di dalam blok respon.data punya saya data json yang saya cari.

$http({
    method: 'get', 
    url: 'data/data.json'
}).then(function (response) {
    console.log(response, 'res');
    data = response.data;
},function (error){
    console.log(error, 'can not get data.');
});
Komentar (5)

Jika anda mencoba untuk menggunakan AngularJs 1.6.6 sebagai 21/10/2017 berikut parameter bekerja sebagai .sukses dan telah habis. Yang .maka() metode ini membutuhkan dua argumen: respon dan kesalahan callback yang akan dipanggil dengan respon objek.

 $scope.login = function () {
        $scope.btntext = "Please wait...!";
        $http({
            method: "POST",
            url: '/Home/userlogin', // link UserLogin with HomeController 
            data: $scope.user
         }).then(function (response) {
            console.log("Result value is : " + parseInt(response));
            data = response.data;
            $scope.btntext = 'Login';
            if (data == 1) {
                window.location.href = '/Home/dashboard';
             }
            else {
            alert(data);
        }
        }, function (error) {

        alert("Failed Login");
        });

Di atas snipit bekerja untuk sebuah halaman login.

Komentar (0)