Korzystanie $ http mogę złapać błędy jak 401 prościej:Jak złapać 401 (lub inny błąd statusu) w kanciastym wywołaniu serwisowym?
$http({method: 'GET', url: 'http://localhost/Blog/posts/index.json'}).
success(function(data, status, headers, config) {
$scope.posts = data;
}).
error(function(data, status, headers, config) {
if(status == 401)
{
alert('not auth.');
}
$scope.posts = {};
});
Ale jak mogę zrobić coś podobnego przy użyciu zamiast usług. Tak wygląda moja obecna usługa:
myModule.factory('Post', function($resource){
return $resource('http://localhost/Blog/posts/index.json', {}, {
index: {method:'GET', params:{}, isArray:true}
});
});
(Tak, uczę się tylko kanciasto).
Solution (dzięki Nitish Kumar i wszyscy współpracownicy)
W regulatorze post byłem nazywając usługę tak:
function PhoneListCtrl($scope, Post) {
$scope.posts = Post.query();
}
//PhoneListCtrl.$inject = ['$scope', 'Post'];
jako sugerowane przez wybraną odpowiedź, teraz jestem Nazywa się to tak: i działa:
function PhoneListCtrl($scope, Post) {
Post.query({},
//When it works
function(data){
$scope.posts = data;
},
//When it fails
function(error){
alert(error.status);
});
}
//PhoneListCtrl.$inject = ['$scope', 'Post'];