//方案1:能用,但令牌信息不能写在服务中,应该用全局变量替代,而且还得考虑参数复合问题。 @Injectable () 出口类DefaultRequestOptions延伸BaseRequestOptions { 构造函数(){ 超级(); this.headers。集(“内容类型”、“application/json”); } } 出口const requestOptionProvider={提供:RequestOptions useClass: DefaultRequestOptions};//方案2:能用,比较正规的实现,但以后请求就只能用myHttp对象了,而且还要考虑参数复合问题。 出口类myHttp扩展Http { defaultHeaders=new头({ “内容类型”:“application/json” }); 构造函数(_backend: ConnectionBackend _defaultOptions: RequestOptions,私人appInitService: appInitService) { 超级(_backend _defaultOptions); } get (url:字符串,选项# 63;:RequestOptionsArgs): Observable};{ 让optionBuf=new RequestOptions ({ 标题:this.defaultHeaders, 参数:{“令牌”:this.appInitService.token} });//在这里扩展选项; 超级回报。get (url, optionBuf); } } 导出功能myHttpFactory (xhrBackend: xhrBackend requestOptions: requestOptions, appInitService: appInitService): myHttp { 返回新myHttp (xhrBackend requestOptions appInitService);//创建myHttp对象 } 出口const myHttpProvider={ 提供:myHttp, useFactory: myHttpFactory, RequestOptions deps:(XHRBackend, AppInitService]
以上这篇angular2实现统一的http请求头方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。