工厂代码
app.factory('abcFactory', function ($http, Config, $log) {
var serviceURL = Config.baseURL + '/results';
return{
results:function() {
var promise = $http({
method: 'GET',
url: serviceURL,
timeout: Config.httpTimeout
}).then(function(response) {
return response;
}, function(reason) {
$log.error("Request Failed: ", reason)
});
return promise;
}
}
});
控制器代码
app.controller('abcController',function ($scope, $log,abcFactory, Config)
{
abcFactory.results(function(data){
$scope.results =data;
},function(response)
{
console.log("response"+response);
if(response.status === 0)
{
console.log("gotcha");
$scope.serviceTimedoutError(response.data, response.status, response.config);
} else
{
console.log("gotcha");
$scope.serviceFailure(response.data, response.status, response.config);
}
});
});
$scope.results
当服务返回良好响应时填充良好。
而且,当出现错误时,我可以在控制台上看到来自工厂代码日志的错误消息说"Request Failed: blah blah "
.
我的问题:
当出现错误时,为什么我没有在控制器中看到错误消息,甚至没有"gotcha"
在浏览器控制台中打印。我需要控制器中的错误详细信息,以便我可以在视图中显示它。我不想通过$scope
工厂。
我在控制器代码中做错了什么?
如果我没记错的话,我正在按照AngularJS Failed Resource GET做一些事情, 但没有得到想要的结果。