У меня есть служба под названием «api», зарегистрированная примерно так:
angular .module('myApp') .factory('api', ['$http', function ($http) { // do stuff with $http.get() etc here. }]);
... и $http настраивается следующим образом:
angular .module('myApp') .factory('httpInterceptor', ['$rootScope', function ($rootScope) { // do stuff to intercept http requests and auth things here }]); angular .module('myApp') .config(function ($httpProvider) { $httpProvider.interceptors.push('httpInterceptor'); });
Перехватчики работают, когда я напрямую ввожу $http
в контроллер, но когда я использую службу api
в своем контроллере, настройки $http
не работают. Похоже, Angular не добавляет точки пересечения в точку, которую требует созданная мной фабрика.
Как мне это решить?
$http
илиapi
внутри перехватчиков? - person ryeballar   schedule 28.07.2014$httpProvider.interceptors
@ryeballar, так что вопросов не возникает. - person Aditya M P   schedule 28.07.2014$injector.get('$http')
в сервисеapi
, но это тоже не сработало. Я думаю, что это то, что происходит внутри в любом случае. - person Aditya M P   schedule 28.07.2014console.log
в перехватчик, он не срабатывает, когда я использую службуapi
, но консоль получает сообщения, когда происходят обычные изменения углового маршрута. - person Aditya M P   schedule 28.07.2014