2016-04-05 19 views
0

Açgözlü bir kaynak-kaynak modülü kullanarak nesnemde basit bir kaydetme çağrısı yapmaya çalışmak üzereyim.ngResource modülünü kullanarak veri göndermeye çalışıyorum

angular.module('testApp', ['ngResource']) 
.controller('testController', function($scope, Stock) { 
    $scope.stock = {}; 
    $scope.stock.id = 1; 
    $scope.stock.name = "Kellog"; 

    $scope.submit = function() {  
     Stock.save($scope.stock); 
    }; 
}); 

angular.module('testApp') 
.factory('Stock', function($resource) { 
    return $resource('api/stock'); 
    } 
); 

benim veri yayınlanmıştır (POST fiil) ama hiçbir şey olmuyor olmasını bekliyoruz bunun yerine aşağıdaki hata var:

TypeError: Cannot read property 'id' of undefined

cevap

0

Bir ilk kaynak nesnesi oluşturmanız gerekir

var newStock = new Stock($scope.stock); 

newStock.$save(); 
+0

, burada aldığım yeni hatadır:

I (bir söz kullanımı) benim kod biraz değişti ve her şey bundan sonra işte pürüzsüz gitti benim cevaptır : TypeError: Stok bir kurucu değil – Carthusianorum

-1

İlk mesajımda çok önemli bir bilgi eksik, kullandığım js kütüphanesi var. Bu durumda, en son açısal revizyonlardan biriyle uyumlu olmayan ng-resource.js (bu konu için 1.5.3). Bunun yerine bir tane angular-resource.js kullanmalısınız.

Teklifinizi ama hiçbir şans çalıştı
angular.module('testApp', ['ngResource']) 
.controller('testController', function($scope, Stock) { 
    $scope.stock = {}; 
    $scope.stock.id = 1; 
    $scope.stock.name = "Kellog"; 


    $scope.submit = function() { 
     new Stock($scope.stock).$save()  
     .then(function(response) { 
     $scope.stock = response; 
     }) 
    }; 
}); 

angular.module('testApp') 
.factory('Stock', function($resource) { 
    return $resource('api/stock'); 
    } 
); 
İlgili konular