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 相关文章推荐
javascript URL编码和解码使用说明
Apr 12 Javascript
jQuery学习笔记 更改jQuery对象
Sep 19 Javascript
Raphael一个用于在网页中绘制矢量图形的Javascript库
Jan 08 Javascript
JavaScript中把数字转换为字符串的程序代码
Jun 19 Javascript
js中的前绑定和后绑定详解
Aug 01 Javascript
封装的dialog插件 基于bootstrap模态对话框的简单扩展
Aug 10 Javascript
jQuery中 DOM节点操作方法大全
Oct 12 jQuery
自己动手封装一个React Native多级联动
Sep 19 Javascript
详解在create-react-app使用less与antd按需加载
Dec 06 Javascript
Vue之beforeEach非登录不能访问的实现(代码亲测)
Jul 18 Javascript
vue实现员工信息录入功能
Jun 11 Javascript
vue使用element-ui按需引入
May 20 Vue.js
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提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
2012/05/06 PHP
Opcache导致php-fpm崩溃nginx返回502
2015/03/02 PHP
详解WordPress中分类函数wp_list_categories的使用
2016/01/04 PHP
php中引用符号(&amp;)的使用详细介绍
2016/12/06 PHP
JQuery操作Select的Options的Bug(IE8兼容性视图模式)
2013/04/21 Javascript
jquery submit ie6下失效的原因分析及解决方法
2013/11/15 Javascript
jquery ajaxSubmit 异步提交的简单实现
2014/02/28 Javascript
jQuery+css3动画属性制作猎豹浏览器宽屏banner焦点图
2015/03/16 Javascript
JavaScript实现图片DIV竖向滑动的方法
2015/04/25 Javascript
jQuery 利用$.ajax 时获取原生XMLHttpRequest 对象的方法
2016/08/25 Javascript
JavaScript学习笔记--常用的互动方法
2016/12/07 Javascript
基于daterangepicker日历插件使用参数注意的问题
2017/08/10 Javascript
微信小程序实现折叠与展开文章功能
2018/06/12 Javascript
微信小程序实现消息框弹出动画
2020/04/18 Javascript
JS中FileReader类实现文件上传及时预览功能
2020/03/27 Javascript
[03:57]2016完美“圣”典风云人物:rOtk专访
2016/12/09 DOTA
python使用beautifulsoup从爱奇艺网抓取视频播放
2014/01/23 Python
Python Collatz序列实现过程解析
2019/10/12 Python
Python装饰器使用你可能不知道的几种姿势
2019/10/25 Python
Python类如何定义私有变量
2020/02/03 Python
tensorflow安装成功import tensorflow 出现问题
2020/04/16 Python
Python爬虫:Request Payload和Form Data的简单区别说明
2020/04/30 Python
Python datetime模块的使用示例
2021/02/02 Python
努比亚手机官网:nubia
2016/10/06 全球购物
圣彼得堡鲜花配送:Semicvetic
2020/09/15 全球购物
serialVersionUID具有什么样的特征
2014/02/20 面试题
海飞丝的广告词
2014/03/20 职场文书
文秘应届生求职信
2014/07/05 职场文书
小学秋季运动会报道稿
2014/09/30 职场文书
2015年百日安全活动总结
2015/03/26 职场文书
离职员工给领导和同事的感谢信
2015/11/03 职场文书
如何写一份具有法律效力的借款协议书?
2019/07/02 职场文书
教你用Python matplotlib库制作简单的动画
2021/06/11 Python
详解Java实践之抽象工厂模式
2021/06/18 Java/Android
Python编写nmap扫描工具
2021/07/21 Python
java后台调用接口及处理跨域问题的解决
2022/03/24 Java/Android