如何通过angularjs中的拦截器发送http请求?

时间:2015-09-07 05:19:54

标签: angularjs

通常我们发送http请求为

var req={
}

and add req to the $http.get(req)..... 

但是如何从拦截器发送req?

1 个答案:

答案 0 :(得分:0)

您想要创建将构建或修改您的请求的拦截器。

  

$ httpProvider提供程序包含一系列拦截器。拦截器只是注册到该阵列的常规服务工厂。这就是我们创建拦截器的方式:

  1. 创建一个拦截器作为工厂。拦截器是Angular中的工厂方法,它将如下所示。

    var app = angular.module('app', []);
    
  2. 这是你的拦截器

    app.factory('myHttpInterceptor', function() {
    
      return {
        //Config contains all your request details
        request: function(config) {
           //Do you stuff here. Modify headers,pass params etc
    
         return config;
        };
     },
    
     response: function(response) {
          //Do you stuff here with response if any  and return
          return response;
        },
        responseError: function(responseError) {
          //Handle response error here 
        }
      };
    
    });
    
    1. 在$ httpProvider中解析其依赖关系。在主模块文件中包含此行。它可能是app.js或nything

      $httpProvider.interceptors.push( 'myHttpInterceptor');
      
    2. 现在通过这种方式你可以通过拦截器发送$ http请求。希望这对你有所帮助。你可以在这里阅读拦截器http://www.webdeveasy.com/interceptors-in-angularjs-and-useful-examples/