2016-04-10 27 views
0

Denetleyici verilerim. coupon.offer, api için ng modelidir. Yanıt bir dizi var. $ rootScope.Result veri dizisidir ancak $ rootScope.Result.offerprice = undefined. nasıl bu verileri almak için

mainCtrl.controller("OrderController",function($scope,$rootScope){ 
couponres=$resource("http://demo.foodzard.in/api/promocode? code="+$rootScope.coupon.offer) 
    if($scope.Total()>=400) 
    { 
     $rootScope.Result=couponres.get(function(data){ 
     console.log(data); 
     return data; 
    }); 
    console.log($rootScope.Result); 
    console.log($rootScope.Result.offerprice) 

Yanıt: ben bu

var couponres=$resource("http://demo.foodzard.in/api/promocode?code="+$rootScope.coupon.offer) 
    if($scope.Total()>=400) 

    { 
$rootScope.Result=couponres.get().$promise.then(function(data){ 
     console.log(data); 

     return data; 

    });} 

ama sen çalışıyorsun bu

+0

'$ resource' tanımla uyumsuz olan AJAX. İstek tamamlanmadan önce verilere erişemezsiniz – charlietfl

cevap

0

için çözüm veriniz çalışmıyor kullanmak

Resource {offerid: "6", offerprice: "30", $promise: Promise, $resolved: true} 
offerprice: 
undefined 

isteği gönderdikten sonra AJAX isteğinin yanıtını günlüğe kaydet. Bu işe yaramaz. AJAX'taki ilk A, Asenkron anlamına gelir. Bu nedenle, yanıt şu anda henüz mevcut değildir. İki günlük ifadenizi, zaten data günlüğüne kaydettiğiniz geri arama işlevi içinde taşıyın.

-1

Açısal $ kaynak hizmeti bir istek döndürür; böylece isteğinizi gönderir göndermez veriye sahip olamazsınız! bir zaman uyumsuz fonksiyon ve bundan sonra sağ kullanırken

, sen tanımsız getiriler için henüz ve orada çözümlenir değildir $rootScope.Result giriş yaptığını!

Eğer söz çözüldükten sonra veri olabilir:

couponres.get().$promise.then(function(response) { 

    $rootScope.Result = response.data; 
    console.log($rootScope.Result); 
    console.log($rootScope.Result.offerprice); 
}); 

Güncelleme: şimdi

! bunu senin bakış açısıyla kullanabilirsin. örneğin

:

<h1> 
{{Result.offerprice}} 
</h1> 
+1

Gerçekten doğru değil. '$ resource', istek tamamlanana kadar boş bir dizi veya nesne döndürür. Bir söz verebilirsiniz, ancak gösterdiğiniz gibi değil – charlietfl

+0

Evet. Haklısın. cevabı düzenledi. Doğruysa bana haber ver. Teşekkürler –

+0

Yine de geri çağırma özelliğini kullanmanın OP için çalışmadığını açıklamıyor. Console.log(), her iki yöntem de – charlietfl

İlgili konular