2016-11-11 6 views
0

ich versuche, einen int Wert aus einer JSON-Datei zu verwenden, wieWarum Javascript-Funktion NaN-Wert zurückgeben?

{ 
"buenos":274.0, 
"desaprobacion":0.13564668769716087, 
"malos":43.0, 
"proporcion":6.372093023255814 
} 

App:

var app = angular.module('angularSpa', ['ngRoute','nvd3']) 

    .service('QueryService', function($http){ 
     var urlBase = 'http://localhost:8080/tweets'; 
     this.getJson = function(){ 
      return $http.get(urlBase+"/compañias/vtr"); 
     }; //I know this works because I use it on another controller to display values ​​inside an html 
     //... more functions 

}) 

Controller:

function getValue(){ 
     QueryService.getJson() 
     .success(function(data){ 
      return JSON.parse(data.buenos); // here always return NaN 
     }) 
     .error(function(error){ 
      $scope.status = 'Error at query'; 
      console.log('error'); 
     }); 
    } 

ist es etwas falsch mit dem return von getValue()?

+0

versuchen Sie mit data.data.buenos in Erfolgsmethode. –

+2

Wo/wie/wann/was genau kommst du zu dem Ergebnis, dass dies "NaN zurückgibt" ...? Ich sehe keine Protokollanweisung oder einen Ort, an dem Sie diesen Wert verwenden ... – deceze

+0

Loggen Sie einfach die 'Daten', die an die 'Erfolg'-Funktion übergeben wird – devqon

Antwort

1

Sie analysieren data.buenos, aber Ihr JSON ist in Daten (JSON.parse (data.buenos);).

Sie sollten Daten analysieren und dann analysierte Daten zurückgeben.

var a = JSON.parse(data); 
return a.buenos; 
Verwandte Themen