Rcho19 2015-09-20 05:25 采纳率: 100%
浏览 1778
已采纳

AngularJs中请求到数据后在controller中怎么取出数据供HTLM页面循环使用

我在AngularJs的service服务里,使用$http.post请求请求到数据后,在controller里注入服务,然后使用循环把data数据push到一个数组中,可是在谷歌浏览器的控制台中只能看到是个[]空数组,ng-repeat也没有循环出来内容,请问这个值我该怎么取得?
代码如下:
// $q 是内置服务,所以可以直接使用
ngApp.service('UserInfo', ['$http', '$q', function ($http, $q) {
return {
query : function() {
var deferred = $q.defer();
$http({method: 'GET', url: 'http://localhost:8080/WebRest/test/query'}).
success(function(data, status, headers, config) {
deferred.resolve(data);
}).
error(function(data, status, headers, config) {
deferred.reject(data);
});
return deferred.promise;

}
};
}]);

controller中
ngApp .controller('MainCtrl', ['$scope', 'UserInfo', function ($scope, UserInfo) {
$scope.goods = [];
var promise = UserInfo.query();
promise.then(function(data) {

for(var i=0;i<data.length;i++){
$scope.goods.push(data[i]); //这里的data是有值的
}
}, function(data) {
$scope.user = {error: '用户不存在!'};
});
}]);
console.log($scope.goods);//在这里就是[],没有值

请问这是为什么?我也是刚接触AngularJS不久,不太懂,希望大神不要嫌弃 ^_^

  • 写回答

2条回答 默认 最新

  • Rcho19 2015-09-21 00:43
    关注

    已解决,是我自己大意了,这样就可以访问到数据

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?