У меня есть веб-проект MVC 5.0 с компонентами одностраничного приложения AngularJS 1.3. Я хочу отправить обратно в контроллер MVC в случае любых необработанных угловых исключений, поэтому я переопределение фабрики $exceptionHandler следующим образом:
mod.factory('$exceptionHandler', ['$http', function($http) {
return function(exception, cause) {
console.log(exception.message);
$http.post("Application/CatchAngularError", {
exception: exception,
cause: cause
});
}
}]);
В Chrome консоль Javascript сообщает «Неперехваченная ошибка: [$injector:cdep] http://errors.angularjs.org/1.3.0/$injector/cdep?p0=%24rootScope%20%3C-%20%24http%20%3C-%20%24exceptionHandler%20%3C-%20%24rootScope", когда я загрузить страницу, включая этот скрипт. Очевидно, $http уже имеет зависимость от $exceptionHandler, поэтому я не могу дать $exceptionHandler зависимость от $http, потому что это создает циклическую зависимость.
Думаю, я могу использовать jQuery.ajax, но я бы предпочел более угловатое решение, если оно существует. У кого-нибудь есть?