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 相关文章推荐
[原创]保存的js无法执行的解决办法
Feb 25 Javascript
javascript 通用简单的table选项卡实现
May 07 Javascript
JQuery实现表格中相同单元格合并示例代码
Jun 26 Javascript
文本框文本自动补全效果示例分享
Jan 19 Javascript
jquery使用remove()方法删除指定class子元素
Mar 26 Javascript
jquery简单实现幻灯片的方法
Aug 03 Javascript
jQuery实现的鼠标经过时变宽的效果(附demo源码)
Apr 28 Javascript
Javascript基础回顾之(一) 类型
Jan 31 Javascript
ES6中class类用法实例浅析
Apr 06 Javascript
JavaScript中Object值合并方法详解
Dec 22 Javascript
JS动画定时器知识总结
Mar 23 Javascript
vue实现同时设置多个倒计时
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
咖啡常见的种类
2021/03/03 新手入门
PHP 反向排序和随机排序代码
2010/06/30 PHP
PHP命名空间(namespace)的使用基础及示例
2014/08/18 PHP
PHP面向对象之后期静态绑定功能介绍
2015/05/18 PHP
symfony2.4的twig中date用法分析
2016/03/18 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
2019/06/14 PHP
Thinkphp 框架扩展之类库扩展操作详解
2020/04/23 PHP
静态的动态续篇之来点XML
2006/08/15 Javascript
jquery之Document元素选择器篇
2008/08/14 Javascript
javascript 星级评分效果(手写)
2012/12/24 Javascript
JavaScript实现把rgb颜色转换成16进制颜色的方法
2015/06/01 Javascript
《JavaScript函数式编程》读后感
2015/08/07 Javascript
javascript实现二级级联菜单的简单制作
2015/11/19 Javascript
javascript实现网页中涉及的简易运动(改变宽高、透明度、位置)
2015/11/29 Javascript
jQuery Ajax传值到Servlet出现乱码问题的解决方法
2016/10/09 Javascript
JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)
2017/07/07 Javascript
纯JS实现的读取excel文件内容功能示例【支持所有浏览器】
2018/06/23 Javascript
JavaScript实现鼠标移入随机变换颜色
2020/11/24 Javascript
[00:30]塑造者的传承礼包-戴泽“暗影之焰”套装展示视频
2014/04/04 DOTA
[36:13]Mineski vs iG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
基于pandas将类别属性转化为数值属性的方法
2018/07/25 Python
python+opencv打开摄像头,保存视频、拍照功能的实现方法
2019/01/08 Python
Python实现最常见加密方式详解
2019/07/13 Python
详解python中index()、find()方法
2019/08/29 Python
Django异步任务线程池实现原理
2019/12/17 Python
Pycharm激活码激活两种快速方式(附最新激活码和插件)
2020/03/12 Python
德国PC硬件网站:CASEKING
2016/10/20 全球购物
Speedo速比涛德国官方网站:世界领先的泳装品牌
2019/08/26 全球购物
简单介绍Object类的功能、常用方法
2013/10/02 面试题
汽车专业大学生职业生涯规划范文
2014/01/07 职场文书
六一节目主持词
2014/04/01 职场文书
提拔干部考察材料
2014/05/26 职场文书
党员“四风”方面存在问题及整改措施
2014/09/24 职场文书
义诊活动总结
2015/02/04 职场文书
2015年端午节活动策划书
2015/05/05 职场文书
如何用Laravel包含你自己的帮助函数
2021/05/27 PHP