我有一個使用角度返回JSON對象的工廠。 $ http.get請求正在獲取數據,因爲我可以在console.log(data)中看到它。我也知道,如果我硬編碼的JSON對象進廠控制器接收在視圖中的數據並顯示正確
我的問題是這樣爲什麼不list: function(callback)
返回 數據到我的控制器,即使$ http.get是在做了?
.factory('countries', function($http){
return {
list: function(callback){
$http.get('../test.json').success(function(data, status, headers) {
console.log("success");
console.log(data);
//console.log(status);
}).error(function(data, status) {
//console.log("error");
// console.log(data);
// console.log(status);
});
}
};
/*
var x = {
list: [
{
"name": "China",
"population": 1359821000,
"flagURL": "//upload.wikimedia.org/wikipedia/commons/f/fa/Flag_of_the_People%27s_Republic_of_China.svg",
"capital": "Beijing",
"gdp": 12261
},
{
"name": "India",
"population": 1205625000,
"flagURL": "//upload.wikimedia.org/wikipedia/en/4/41/Flag_of_India.svg",
"capital": "New Delhi",
"gdp": 4716
},
{
"name": "United States of America",
"population": 312247000,
"flagURL": "//upload.wikimedia.org/wikipedia/en/a/a4/Flag_of_the_United_States.svg",
"capital": "Washington, D.C.",
"gdp": 16244
}
]
};
console.log(x);
return x;
*/
})
.controller('View2Ctrl', function ($scope, countries){
$scope.countries = countries.list;
});
那麼,list()是一個函數,但控制器不會調用它。即使它做到了,它也不會將任何東西返回給調用者。 –
感謝您的回覆。我如何從請求中獲取數據到列表中? – purencool
where'console.log(「success」);',在下面加上'返回數據'。' – SjaakvBrabant