2015-01-10 20 views
6

AngularJS $ kaynağını öğrenmeye başladım ve $ kaynak nesnesinin, sunucudan yüklenen verilerime eklenmiş birkaç yönteme (örnekler için aşağıya bakın) sahip olduğunu fark ettim. Bu yöntemleri nasıl kaldırırım ve nesneyi düzenli (array) nesnesine dönüştürürüm? Örneğin

__proto__: Resource $delete: function (params, success, error) {$get: function (params, success, error) {$query: function (params, success, error) {$remove: function (params, success, error) {$save: function (params, success, error) {constructor: function Resource(value) {toJSON: function() {__proto__: Object 

, ben $ resource.save kullanarak bazı anahtar değeri verileri dahil POST isteği göndermek için çalışıyorum, ancak bu ' proto' dizideki öğeleri nasılsa veri haline neden oluyor "tanımlanmamış "fabrikada $ .param'a (veri) geçirildiğinde. Aynı şeyi $ http kullanarak kolaylıkla yapabilirdim, ancak $ kaynağı öğrenmek istiyorum. Teşekkürler! Bir Kontrolör

$scope.ok = function() { 
     $scope.entry = new calEntry(); 
     $scope.entry.data = data // data is $resource object including _proto_ items 
     $scope.entry.$save(function(){ 
      toaster.pop('success','Message','Update successfully completed.'); 
     }); 
    }; 

Fabrika

myApp.factory("calEntry",['$resource','$filter', function($resource, $filter) { 

    return $resource("/griddata/", {}, { 
     save: { 
      method: 'POST', 
      headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}, 
      transformRequest: function(data, headersGetter) { 
       return $.param(data);  // data is undefined when it reaches here 
      } 
     } 
    }); 
}]); 

cevap

8

, verileri alıp bunu toJSON fonksiyonunu deneyin ve ekstra özelliklere kaldırmak İçinde

.

+0

Cevabınız için teşekkür ederiz. $ Scope.entry.data = data.toJSON() değiştirmeyi denedim ama _proto_ özellikleri hala var. Bir şey mi eksik? –

+0

angular.toJson (veri) özellikleri düşürür ve basit bir JSON dizesi döndürür. Teşekkür ederim. –

İlgili konular