为什么javascript函数返回NaN值?

时间:2016-11-11 08:51:36

标签: javascript angularjs json d3.js

我尝试使用来自JSON文件的int值,如

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

应用程式:

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

})

控制器:

   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');
        });
    }

return的{​​{1}}是否有问题?

1 个答案:

答案 0 :(得分:1)

你解析data.buenos,但你的json是数据(JSON.parse(data.buenos);)。

你应该解析数据,然后返回解析后的数据buenos。

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