Heim > Fragen und Antworten > Hauptteil
大家讲道理2017-05-15 16:52:14
你最好把问题描述的详细一点,因为具体的做法可能根据情况而有所不同。
大体上如果只是为了自定义 Headers,那么可以使用 $httpProvider
就可以了。
module.config(['$httpProvider', function ($httpProvider) {
$httpProvider.defaults.headers.common['ANYTHING'] = 'YOU_NEEDED';
}]);
要注意 post,patch,put 的 headers 有各自独立配置的部分(common 是所有方法共享的)。另外,module.config
里的配置只在初始化有效,若在运行期间需要修改就直接 $http service 吧:
$http.defaults.headers.common.Authorization = 'Basic YmVlcDpib29w'
如果是为了对请求、响应,请求错误及响应错误做统一处理,那就需要使用拦截器(Interceptors)了。这个范例的代码太罗嗦我就不写了,自行查看 $http service 文档就是。简单地说一下就是,你可以使用 factory 创造自定义的拦截器,然后把它们添加到 $httpProvider.interceptors
(是一个数组)之中,如此一来这些拦截器就好像中间件那样的对每一此请求都做出统一的处理。
最后还是得说,要么你把问题描述的详细准确一些,要么主动看一下文档,$http 和 $httpProvider 的文档就那么两页,你想知道的东西都在那上面。