angularjs – 有没有办法为拦截器请求$http?

前端之家收集整理的这篇文章主要介绍了angularjs – 有没有办法为拦截器请求$http?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这个想法是在某些情况下从另一个来源获取数据,所以我有这个存根:

factory("interceptor",function ($q,$location,$http) {
    return function (promise) {
        return promise;
    }
}

失败了

[$injector:cdep] Circular dependency found: interceptor <- $http

还试图注入$injector并使用它来检索$http,结果相同.有任何想法吗?

.config只是声明:

.config(function ($httpProvider) {
    $httpProvider.responseInterceptors.push('interceptor');
});

解决方法

将$injector注入拦截器:

使用它在回调函数中的返回对象内获取$http.

这是一个example

app.config(function ($httpProvider) {
  $httpProvider.interceptors.push('interceptor');
});

app.factory("interceptor",$injector) {
  return {
    request: function(config){      
      var $http = $injector.get('$http');
      console.dir($http);
      return config;
    }
  }
});

app.run(function($http){
  $http.get('/')
});

猜你在找的Angularjs相关文章