angular2实现统一的http请求头方法


Posted in Javascript onAugust 13, 2018

如下所示:

//方案1:能用,但token信息不能写在服务中,应该用全局变量替代,而且还得考虑参数复合问题。
@Injectable()
export class DefaultRequestOptions extends BaseRequestOptions {
  constructor() {
  super();
  this.headers.set('Content-Type', 'application/json');
 }
}
export const requestOptionProvider = {provide: RequestOptions, useClass: DefaultRequestOptions};
//方案2:能用,比较正规的实现,但以后请求就只能用myHttp对象了,而且还要考虑参数复合问题。
export class myHttp extends Http {
 defaultHeaders = new Headers({
  'Content-Type': 'application/json'
 });

 constructor(_backend: ConnectionBackend, _defaultOptions: RequestOptions, private appInitService: AppInitService) {
  super(_backend, _defaultOptions);
 }

 get(url: string, options?: RequestOptionsArgs): Observable<Response> {
  let optionBuf = new RequestOptions({
   headers: this.defaultHeaders,
   params: {'token': this.appInitService.token}
  });
  //here extend options;
  return super.get(url, optionBuf);
 }
}

export function myHttpFactory(xhrBackend: XHRBackend, requestOptions: RequestOptions, appInitService: AppInitService): myHttp {
 return new myHttp(xhrBackend, requestOptions, appInitService); // 创建myHttp对象
}

export const myHttpProvider = {
 provide: myHttp,
 useFactory: myHttpFactory,
 deps: [XHRBackend, RequestOptions, AppInitService]
};

以上这篇angular2实现统一的http请求头方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery Validation实例代码 让验证变得如此容易
Oct 18 Javascript
jquery调用asp.net 页面后台的实现代码
Apr 27 Javascript
浅析showModalDialog数据缓存问题(用禁止浏览器缓存解决)
Jul 09 Javascript
JavaScript—window对象使用示例
Dec 09 Javascript
jquery制作select列表双向选择示例代码
Sep 02 Javascript
JS自定义对象实现Java中Map对象功能的方法
Jan 20 Javascript
JS获取时间的方法
Jan 21 Javascript
基于javascript实现根据身份证号码识别性别和年龄
Jan 22 Javascript
详解Jquery的事件操作和文档操作
Dec 19 Javascript
详解weex默认webpack.config.js改造
Jan 08 Javascript
原生JS实现多个小球碰撞反弹效果示例
Jan 31 Javascript
Javascript异步流程控制之串行执行详解
Sep 27 Javascript
AngularJS发送异步Get/Post请求方法
Aug 13 #Javascript
vue后台管理之动态加载路由的方法
Aug 13 #Javascript
jQuery中$原理实例分析
Aug 13 #jQuery
Angular服务Request异步请求的实例讲解
Aug 13 #Javascript
微信小程序中使用wxss加载图片并实现动画效果
Aug 13 #Javascript
深入浅析angular和vue还有jquery的区别
Aug 13 #jQuery
Angular异步变同步处理方法
Aug 13 #Javascript
You might like
一个简单的PHP&amp;MYSQL留言板源码
2020/07/19 PHP
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
2007/05/03 PHP
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
2014/08/18 PHP
Laravel 5框架学习之表单
2015/04/08 PHP
提高php编程效率技巧
2015/08/13 PHP
浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接)
2015/09/22 PHP
浅谈PHP Cookie处理函数
2016/06/10 PHP
详解PHP中mb_strpos的使用
2018/02/04 PHP
PHP面向对象五大原则之单一职责原则(SRP)详解
2018/04/04 PHP
关于document.cookie的使用javascript
2010/10/29 Javascript
JavaScript之Getters和Setters 平台支持等详细介绍
2012/12/07 Javascript
jQuery实现图片放大预览实现原理及代码
2013/09/12 Javascript
js格式化金额可选是否带千分位以及保留精度
2014/01/28 Javascript
JS鼠标拖拽实例分析
2015/11/23 Javascript
javascript每日必学之继承
2016/02/23 Javascript
浅谈js中function的参数默认值
2017/02/20 Javascript
详解Angular.js中$http拦截器的介绍及使用
2017/07/04 Javascript
Vue的轮播图组件实现方法
2018/03/03 Javascript
vue框架下部署上线后刷新报404问题的解决方案(推荐)
2019/04/03 Javascript
JQuery Ajax跨域调用和非跨域调用问题实例分析
2019/04/16 jQuery
vue路由传参的基本实现方式小结【三种方式】
2020/02/05 Javascript
python分割文件的常用方法
2014/11/01 Python
python使用itchat实现手机控制电脑
2018/02/22 Python
Python简单生成随机数的方法示例
2018/03/31 Python
浅谈python中str字符串和unicode对象字符串的拼接问题
2018/12/04 Python
python3安装speech语音模块的方法
2018/12/24 Python
在python里协程使用同步锁Lock的实例
2019/02/19 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
python PyQt5/Pyside2 按钮右击菜单实例代码
2019/08/17 Python
Python实现桌面翻译工具【新手必学】
2020/02/12 Python
html5指南-6.如何创建离线web应用程序实现离线访问
2013/01/07 HTML / CSS
HTML5实现动画效果的方式汇总
2016/02/29 HTML / CSS
Herschel美国官网:背包、手提袋及配件
2020/03/10 全球购物
大学感恩节活动策划方案
2014/10/11 职场文书
行政处罚事先告知书
2015/07/01 职场文书
纪念建国70周年演讲稿
2019/07/19 职场文书