【发布时间】:2013-06-06 22:29:13
【问题描述】:
工厂代码
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 做一些事情 但没有得到想要的结果。
【问题讨论】:
标签: javascript angularjs