通常我们发送http请求为
var req={
}
and add req to the $http.get(req).....
但是如何从拦截器发送req?
答案 0 :(得分:0)
您想要创建将构建或修改您的请求的拦截器。
$ httpProvider提供程序包含一系列拦截器。拦截器只是注册到该阵列的常规服务工厂。这就是我们创建拦截器的方式:
创建一个拦截器作为工厂。拦截器是Angular中的工厂方法,它将如下所示。
var app = angular.module('app', []);
这是你的拦截器
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
}
};
});
在$ httpProvider中解析其依赖关系。在主模块文件中包含此行。它可能是app.js或nything
$httpProvider.interceptors.push( 'myHttpInterceptor');
现在通过这种方式你可以通过拦截器发送$ http请求。希望这对你有所帮助。你可以在这里阅读拦截器http://www.webdeveasy.com/interceptors-in-angularjs-and-useful-examples/