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

我在AngularJs的service服务里,使用$http.post请求请求到数据后,在controller里注入服务,然后使用循环把data数据push到一个数组中,... 我在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: 'xxxx://localhost:8080/WebRest/test/xxxx'}).
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不久,不太懂,希望大神不要嫌弃 ^_^
问题已解决
展开
 我来答
我不是阿飞
2015-09-21 · TA获得超过230个赞
知道小有建树答主
回答量:204
采纳率:100%
帮助的人:211万
展开全部
直接把data给goods试试,
$scope.goods = [];

$scope.goods = data;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式