无法读取角度中未定义的属性“长度”

时间:2015-05-27 22:04:04

标签: json angularjs

我有一个json数组,我试图得到该数组的长度,但我得到一个未定义的错误。

 $http.post('http://localhost:8099/mescc/seci/tools/ManageSettings',addOrUpdateJson)
        .success(
            function(dat, status,
                headers, config) {
                 $scope.loading=false;
                 $scope.table=true;
                 $scope.allConfigDatabase = dat;

                 for (var i = 0, len = dat.data.length; i < len; i++)  
                 {
                    $scope.editingData[$scope.allConfigDatabase.data[i].id] = false;
                 }
                 $scope.searchParameter = "";
                 $scope.updateView=false;
                 $scope.$apply();
                })
                .error(
                function(data, status,headers, config) {                                        
           });

1 个答案:

答案 0 :(得分:0)

POST请求的响应位于success函数的'dat'参数中。我指出这只是因为我看到你使用'数据'作为错误函数,也许以前的重命名导致了错误。

此“未定义”错误表示您的json响应没有“data”属性。更清楚的是,它看起来不像:

{ foo: {}, bar: {}, data:[1,2,3,4] }

您可以使用angular提供的实用程序功能来更好地检查客户端:

if (angular.isArray(dat.data)) {
  //...
}
相关问题