程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> angularjs-AngularJs中請求到數據後在controller中怎麼取出數據供HTLM頁面循環使用

angularjs-AngularJs中請求到數據後在controller中怎麼取出數據供HTLM頁面循環使用

編輯:編程綜合問答
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不久,不太懂,希望大神不要嫌棄 ^_^

最佳回答:


已解決,是我自己大意了,這樣就可以訪問到數據

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved