TypeError:无法读取离子角度中未定义的属性“数据”

时间:2016-01-04 17:15:15

标签: javascript angularjs api ionic-framework promise

只是尝试使用AngularJS在Ionic中获取数据(来自我的个人api),这给了我这个错误......

TypeError: Cannot read property 'data' of undefined

如果我没记错的话,几个星期前就已经工作了,(另一个项目让我平时被占用了),现在却没有。

这是我的 resources.js 我有这个工厂

.factory('Leaderboard', function($http) {
    var Leaderboard = {
        async: function() {
            var promise = $http.get('http://www.nmdad3.local/app_dev.php/api/v1/leaderboards').then(function (response) {
                console.log(response);
                return response.data;
            });
            return promise;
        }
    };
    return Leaderboard;
});

在我的 controller.js 中,我有这个

.controller('LeaderbCtrl', function($scope, Users, Leaderboard) {
    $scope.users = Users.query();

    // Call the async method and then do stuff with what is returned inside our own then function
    Leaderboard.async().then(function(d) {
        $scope.stats = d;
    });
})

html 中,我只是致电:

<ion-view view-title="Leaderboard" ng-controller="LeaderbCtrl">
    <ion-content class="">

        <ul class="list leaderboardCard">
            <li class="item" ng-repeat="lb in stats">
                #{{$index + 1}}  {{ lb.user.username }} <span>{{ lb.completed }}</span>
            </li>
        </ul>

    </ion-content>
</ion-view>

更新

如果我在后端(symfony应用程序)中禁用安全性,它可以正常工作..但是我仍然需要这些登录和安全措施。我使用Symfony和NelmioCORSBundle来实现这一目标 在我的 config.yml 中,我设置了这个...

nelmio_cors:
    paths:
        '^/api/':
            allow_origin: '*'
            allow_headers: ['X-Custom-Auth','Content-Type']
            allow_methods: ['POST', 'PUT', 'GET', 'DELETE', 'OPTIONS']
            expose_headers: ['Location']
            max_age: 3600

虽然我的api路径在流浪汉环境中是http://www.nmdad3.local/app_dev.php/api/v1/leaderboards

0 个答案:

没有答案