2016-08-16 102 views
1

爲什麼我的$scope.aux是空的,而響應是在那裏?angularjs服務和響應

響應:

enter image description here

我已在在工廠以下內容:

o.getfirm = function() { 
    return $http.post('/firms', null, { 
    headers: {Authorization: 'Bearer '+auth.getToken()} 
    }).then(function(response){ 
     console.log("getting firm"); 

     console.log(response.data); 

    return response.data; 
    }); 
}; 

來電者:

$scope.aux = testservice.getfirm(); 

console.log("checking"); 

console.log($scope.aux); 

回答

2

因爲getfirm返回一個承諾。爲了獲取數據試試這個:

testservice.getfirm().then(function(value){ $scope.aux = value }); 
+0

的感謝!將盡力接受答案。你是否有時間處理另一個問題? – maria

+0

發佈您的問題,我會盡力快速響應 – Silvinus

+0

其在這裏:http://stackoverflow.com/questions/38957777/schema-hasnt-been-registred-for-model-mean-stack – maria

1

您可以使用$ Q庫來處理錯誤也

o.getfirm = function() { 
var deferred = $q.defer(); 
return $http.post('/firms', null, { 
    headers: {Authorization: 'Bearer '+auth.getToken()} 
}) 
.then(function(response){ 
    console.log("getting firm"); 

    deferred.resolve(response.data); 

return response.data; 
}) 
.catch(function(error){ 
    deferred.reject(error); 
}); 
return deferred.promise(); 

}; 

和控制器:

testservice.getfirm().then(function(value){ $scope.aux = value }) 
        .catch(function(error){//Handle error})