AngularJS服务正常,但没有数据

时间:2016-03-24 16:06:59

标签: angularjs angularjs-service

我正在开发AngularJS中的webapp。我已经为发送json请求创建了一个服务,并通过post接收json数据。该服务还可以,因为当我加载页面时,Firebug会向我显示json的数据,但视图不会加载数据。

这是我的代码

    var app = angular.module('MyApp', ['ngRoute']);

    app.service('selectSrv',['$http', function($http){
        this.select = function(tab, fields){
                $http.defaults.headers.post["Content-type"] = "application/json";
                return $http.post('/loader',{posttab:tab, postfields:fields})
                        .success(function(data){
                            return data;    });
            };
    }]);
    app.config(['$routeProvider',function($routeProvider){
        $routeProvider
            .when("/report",{
                          templateUrl:"/reportV.html",
                          controller:"reportController",
                          resolve:{
                                   dati: function(selectSrv){
                                       return selectSrv.select(table,["col1","        };
}]);
col2","col3"]); }
                          }   })
            .otherwise({redirectTo:'/'});

这是我的reportController.js

app.controller("reportController", ['$scope','$log', function($scope, $log, dati){
    $scope.rows = dati;    }]);

这是我的reportV.html

<div class="col-md-8">
    <table class="table table-striped">
        <thead>
            <tr>
                <th>Code</th>
                <th>Surname</th>
                <th>Name</th>
            </tr>
        </thead>
        <tbody ng-repeat="row in rows">
            <tr>
                <td>{{row.code}}</td>
                <td>{{row.surname}}</td>
                <td>{{row.name}}</td>
            </tr>
        </tbody>
    </table>
</div>

另外,如果我写入日志,我会看到&#34; undefined&#34;而是在日志中查看数据。

关心所有人。

的Davide

1 个答案:

答案 0 :(得分:0)

您忘记在数组表示法中声明已解析的依赖项。应该是:

app.controller("reportController", ['$scope', '$log', 'dati', function($scope, $log, dati) {
    $scope.rows = dati;               // note this DI --^   
}]);