【问题标题】:Why javascript function return NaN value?为什么javascript函数返回NaN值?
【发布时间】:2016-11-11 08:51:36
【问题描述】:

我尝试使用 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');
        });
    }

getValue()return 有问题吗?

【问题讨论】:

  • 尝试在成功方法中使用data.data.buenos。
  • 您在哪里/如何/何时/什么时候得出这个“返回 NaN”的结论......?我没有看到任何日志语句或您使用该值的任何地方......
  • 只需记录传递给success函数的data
  • Manish 所说的,JSON.parse() 也应该是 angular.fromJson()
  • 你在哪里打电话getValue()?这段代码充满了promise,你是如何处理它们的?

标签: javascript angularjs json d3.js


【解决方案1】:

您解析 data.buenos,但您的 json 在数据中 (JSON.parse(data.buenos);)。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-21
    • 2020-03-25
    • 2015-05-20
    • 2021-06-18
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    • 2011-01-08
    相关资源
    最近更新 更多