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中遭遇级联表达式陷阱
Mar 08 Javascript
解析JavaScript中点号“.”的多义性
Dec 02 Javascript
禁用页面部分JavaScript不是全部而是部分
Sep 03 Javascript
jQuery中hasClass()方法用法实例
Jan 06 Javascript
JS实现为排序好的字符串找出重复行的方法
Mar 02 Javascript
浅析jquery如何判断滚动条滚到页面底部并执行事件
Apr 29 Javascript
Angularjs修改密码的实例代码
May 26 Javascript
JS实现的简单折叠展开动画效果示例
Apr 28 Javascript
浅谈Node.js 沙箱环境
May 15 Javascript
Vue使用axios出现options请求方法
May 30 Javascript
在微信小程序中使用vant的方法
Jun 07 Javascript
Vue实现图书管理小案例
Dec 03 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 session_start()关于Cannot send session cache limiter - headers already sent错误解决方法
2009/11/27 PHP
php微信浏览器分享设置以及回调详解
2016/08/01 PHP
ie和firefox中img对象区别的困惑
2006/12/27 Javascript
使用IE6看老赵的博客 jQuery初探
2010/01/17 Javascript
javascript动态添加表格数据行(ASP后台数据库保存例子)
2010/05/08 Javascript
Jquery倒数计时按钮setTimeout的实例代码
2013/07/04 Javascript
node.js中的fs.readFileSync方法使用说明
2014/12/15 Javascript
node.js中的fs.chmod方法使用说明
2014/12/18 Javascript
jquery动态改变div宽度和高度
2015/02/09 Javascript
javascript带回调函数的异步脚本载入方法实例分析
2015/07/02 Javascript
浅谈javascript中return语句
2015/07/15 Javascript
基于jQuery实现淡入淡出效果轮播图
2020/07/31 Javascript
浅谈 Vue 项目优化的方法
2017/12/16 Javascript
vue+axios实现文件下载及vue中使用axios的实例
2018/09/21 Javascript
vue  自定义组件实现通讯录功能
2018/09/30 Javascript
js实现点赞按钮功能的实例代码
2020/03/06 Javascript
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
2020/11/18 Vue.js
[01:18]DOTA2超级联赛专访hanci ForLove淘汰感言曝光
2013/06/04 DOTA
详解Python中__str__和__repr__方法的区别
2015/04/17 Python
python 写入csv乱码问题解决方法
2016/10/23 Python
Python requests库用法实例详解
2018/08/14 Python
详解Python3注释知识点
2019/02/19 Python
Python编写带选项的命令行程序方法
2019/08/13 Python
pytorch实现保证每次运行使用的随机数都相同
2020/02/20 Python
python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例
2020/03/06 Python
Canvas引入跨域的图片导致toDataURL()报错的问题的解决
2018/09/19 HTML / CSS
Linux不知道文件后缀名怎么判断文件类型
2014/08/21 面试题
软件测试企业面试试卷
2016/07/13 面试题
如何清空Session
2015/02/23 面试题
继承公证书
2014/04/09 职场文书
《有趣的发现》教学反思
2014/04/15 职场文书
优秀小学生事迹材料
2014/12/26 职场文书
画展邀请函
2015/01/31 职场文书
2015年老干部工作总结
2015/04/23 职场文书
2016年党建工作简报
2015/11/26 职场文书
TensorFlow的自动求导原理分析
2021/05/26 Python