我已經開始學習一些關於AngularJS的知識。我設法創建了一些簡單的控制器,但我想做一些重構並創建一個工廠。Angular JS,工廠返回數據,但在控制器中它不見了
這裏是我的js文件之一:
angular
.module('myApp', ['ngResource'])
.factory('UserFactory', ['$http', function ($http) {
return {
getOne: function() {
$http({method: 'GET', url: 'http://localhost:8080/login/login'})
.success(function (data, status, headers, config) {
console.info(data);
return data;
})
.error(function (data, status, headers, config) {
alert("failure");
});
}
}
}])
.controller('UserController', ['$scope', 'UserFactory', function ($scope, UserFactory) {
$scope.user = UserFactory.getOne();
}]);
程序正確的數據打印到該行從servlet收到的控制檯:console.info(data);
但控制任何不返回到視圖。我也放在這裏console.info(UserFactory.getOne())
和它打印undefined
。
我的編碼錯誤在哪裏?
如果仔細查看代碼,您會發現您沒有從getOne函數返回任何內容。 – PSL
[如何從異步調用返回響應?]可能重複(http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-asynchronous-call) – MinusFour