Ionic / Angular App不从api读取json数据

时间:2015-06-29 01:16:38

标签: angularjs asp.net-mvc-4 ionic

我正在编写一个Ionic应用程序来读取我使用asp.net MVC4创建的Web API中的一些数据。当我在我的本地计算机上托管它时,Ionic应用程序读取数据就好了,但当我在Azure上发布时尝试从Web API读取时,角度工厂不会返回任何内容。是否有任何逻辑上的原因导致它在发布到Azure时无效?

当我访问本地和天蓝色网站时,两者的json字符串相同。

[{"ID":1,"Name":"Fireworks","Time":"2015-11-30T21:00:00","Comments":"Be there by 8:00"},
{"ID":2,"Name":"Haircut","Time":"2015-11-30T21:00:00","Comments":"Be there by 8:00"}]

这是我的角度工厂的代码

.factory('EventsFactory', ['$http', function($http) {
  return $http.get('webAPI link here')
      .success(function(data) {
        return data;
      })
      .error(function(err) {
        return err;
      });
}])

这是我的角度控制器的代码

.controller('EventCtrl', ['$scope', 'EventsFactory', function($scope,     EventsFactory) {
    EventsFactory.success(function(data){
        $scope.activities = data;
    });
}])

以下是我的观点代码

  <div class="list card" ng-controller="EventCtrl">
      <div class="item item-divider">Upcoming Events</div>
      <div class="item item-body" ng-repeat="activity in activities">
        <div>{{activity.Name}}</div>
      </div>
  </div>

2 个答案:

答案 0 :(得分:1)

  

为什么要使用Controller和factory添加成功方法。添加成功方法只有控制器。像

.factory('EventsFactory', ['$http', function($http) { return $http.get('webAPI link here'); }])

答案 1 :(得分:1)

在您的控制器中,您需要使用then

EventsFactory().then(function(data){
                $scope.activites = data;
})