2015-02-02 20 views
6

Benim Html kullanarak, verileri görüntülemek içinYük JSON ng-yineleyin {angularjs}

Grafik görüntülenen alır vermez
app.controller('jsonServerBox', function($scope, $http) { 
    var json = $http.get('serverbox.json').then(function(res){ 
      return res.data; 
     }); 
    $scope.ocw = json;  
    }); 

, bilmiyorum niye ya? Konsolda da herhangi bir hata alıyorum.

GÜNCELLEME: MY JSON DOSYALAR İÇERİK

[{"modules":[ 
      { 
       "series":"SeriesA", 
       "data":["90", "99", "80", "91", "76", "75", "60", "67", "59", "55"], 
       "labels":["01", "02", "03", "04", "05", "06", "07","08","09","10"] 
      }, 

      { 
       "series":"SeriesB", 
       "data":["90", "99", "80", "91", "76", "75", "60", "67", "59", "55"], 
       "labels":["01", "02", "03", "04", "05", "06", "07","08","09","10"] 
      } 

    ]} 
] 

KONSOLU LOG: En koduyla

modules: Array[2]0: Objectdata: Array[10]0: "90"1: "99"2: "80"3: "91"4: "76"5: "75"6: "60"7: "67"8: "59"9: "55"length: 10__proto__: Array[0]labels: Array[10]0: "01"1: "02"2: "03"3: "04"4: "05"5: "06"6: "07"7: "08"8: "09"9: "10"length: 10__proto__: Array[0]series: "SeriesA"__proto__: Object1: Objectdata: Array[10]0: "90"1: "99"2: "80"3: "91"4: "76"5: "75"6: "60"7: "67"8: "59"9: "55"length: 10__proto__: Array[0]labels: Array[10]0: "01"1: "02"2: "03"3: "04"4: "05"5: "06"6: "07"7: "08"8: "09"9: "10"length: 10__proto__: Array[0]series: "SeriesB" 
+0

kulağa getirebilir misin? –

+1

Grafik gösterildikten sonra verileri aldığınız için bu görünmüyor. Bu nedenle, veri aslında yüklendikten sonra grafiği güncellemek için bir şeye ihtiyacınız var. Grafiğin bir çeşit kütüphane olduğunu farz ediyorum, bu yüzden normal açısal $ özeti grafiğe verdiğiniz değişkenleri güncellemeyecektir. – ribsies

cevap

5

sorun json Promise veri AJAX çağrısından dönmedi nesne olmasıdır. Ayrıca sorunuz "AJAX talebinden dönen" yönü vardır. İlgili sorunu anladığınızdan emin olun, this çok popüler soruyu kontrol edin. Açısal AJAX isteği ile alınan kapsam veri ayarlamak

uygun şekilde içeride ardından callback'inde bunu yapmaktır: In

app.controller('jsonServerBox', function ($scope, $http) { 
    $http.get('serverbox.json').then(function (res) { 
     $scope.ocw = res.data; 
    }); 
}); 
+0

Önerinizi denediniz, Ama yine de grafik işlenmiyor. JSON DATA FORMAT'ımda bir sorun olabilir. Benim sorumu içinde gönderiyorum. Lütfen bir göz at. – Jinandra

+0

Tuvalin altına {{ocw}} 'koyun ve nüfusun dolu olup olmadığını görün. Öyleyse, sorun, veri değiştiğinde güncellenmeyen grafik kitaplığı ile olur. – dfsq

+0

Elbette deneyeceğim, grafik kütüphanesini ve çalıştığı parayı test ettim. – Jinandra

4

Eğer durum json değişken bir şey değildir ama promise nesnesi içerir.

Ve Promise hep bu size yardımcı olacaktır .then

KODU

var json = $http.get('serverbox.json').then(function(res) { 
    return res.data; 
}); 
json.then(
    //success callback 
    function(data) { 
     $scope.ocw = data 
    }, 
    //error callback 
    function() { 
     //error handling 
    }) 
}); 

kullanarak çözmek olmalıdır.

Teşekkürler.

+0

@sanki Dizinin içinde "data" dizisi neden var: [["90", "99", "80", "91", "76", "75", "60", "67", "59 "," 55 "]],'? tek dizi, "data" gibi yeterince iyi olmalıdır: [["90", "99", "80", "91", "76", "75", "60", "67", "59", "55"] '.. –

+0

@sanki İsterseniz, bu cevabımı da http://stackoverflow.com/questions/28278096/angular-js-loading-data-for-chart/28278459# adresine göre kabul edebilirsiniz. 28278459 sorunu json –

+0

@sanki için çözülmüştür Thats harika bir şey..Sorunu güncelledikten sonra bana bildirin ... Teşekkürler –