0
我正在使用工廠配方從控制器調用方法,這裏是工廠定義。返回未定義值的工廠方法
app.factory('AccountService', function ($http){
var factory = {};
factory.getAuthenticate = function (credentials) {
$http({
method: 'post',
url: '/api/login',
data: credentials
}).success(function (data, status, headers, config){
return true;
}).error(function (data, status, headers, config){
return false;
});
}
return factory;
});
當我打電話從我的控制器的一個getAuthenticate方法,
app.controller('DefaultController', function ($scope, $location, AccountService){
$scope.login = function(){
alert(AccountService.getAuthenticate($scope.credentials));
// if(AccountService.getAuthenticate($scope.credentials)) {
// $location.path('/dashboard');
// }
}
});
它總是基於HTTP調用返回undefined,而不是真或假。任何想法我失蹤?
你的函數犯規了一個返回任何東西,第二你是做ASYC呼籲讓你的函數將返回前的AJAX請求完成 – 2014-09-06 04:15:04
[如何從Ajax調用返回響應?](http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-ajax-call) – 2014-09-06 04:16:18
As帕特里克說,異步函數不會返回這樣的值,要麼返回承諾,要麼使用回調。 – 2014-09-06 04:17:34