厂商代码
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的操作,但没有得到期望的结果。
.success()
和.error()
。在接受您的答案之前,我会等待更多的回复。 - Watt