我正在编写一个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>
答案 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;
})