加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 06:50:32 所属栏目:安全 来源:网络整理
导读:这个想法是在某些情况下从另一个来源获取数据,所以我有这个存根: factory("interceptor",function ($q,$location,$http) { return function (promise) { return promise; }} 失败了 [$injector:cdep] Circular dependency found: interceptor - $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('/')
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读