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 相关文章推荐
Extjs ajax同步请求时post方式参数发送方式
Aug 05 Javascript
百度移动版的url编码解码示例
Apr 29 Javascript
jQuery实现瀑布流的取巧做法分享
Jan 12 Javascript
JavaScript文本框脚本编写的注意事项
Jan 25 Javascript
JavaScript正则表达式实例详解
Oct 16 Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
Oct 31 Javascript
ES6入门教程之let和const命令详解
May 17 Javascript
Bootstrap popover 实现鼠标移入移除显示隐藏功能方法
Jan 24 Javascript
vue项目中使用fetch的实现方法
Apr 25 Javascript
微信小程序mpvue点击按钮获取button值的方法
May 29 Javascript
微信小程序服务器日期格式化问题
Jan 07 Javascript
Vue打包部署到Nginx时,css样式不生效的解决方式
Aug 03 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
Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源
2014/06/22 PHP
PHP实现过滤掉非汉字字符只保留中文字符
2015/06/04 PHP
php 判断过去离现在几年的函数(实例代码)
2016/11/15 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
jquery.AutoComplete.js中文修正版(支持firefox)
2010/04/09 Javascript
多个datatable共存造成多个表格的checkbox都被选中
2013/07/11 Javascript
javascript中处理时间戳为日期格式的方法
2014/01/02 Javascript
用html+css+js实现的一个简单的图片切换特效
2014/05/28 Javascript
JavaScript中string对象
2015/06/12 Javascript
JavaScript数据类型判定的总结笔记
2015/07/31 Javascript
jquery带下拉菜单和焦点图代码分享
2015/08/24 Javascript
浅谈js中的延迟执行和定时执行
2016/05/31 Javascript
JS前向后瞻正则表达式定义与用法示例
2016/12/27 Javascript
vue-cli入门之项目结构分析
2017/04/20 Javascript
js实现打字小游戏
2019/12/17 Javascript
如何用JS模拟实现数组的map方法
2020/07/30 Javascript
[03:02]2014DOTA2西雅图邀请赛 让队员自己告诉你DK NAVI备战情况
2014/07/08 DOTA
[40:56]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Liquid vs TNC
2018/04/01 DOTA
从零学Python之入门(四)运算
2014/05/27 Python
Python使用redis pool的一种单例实现方式
2016/04/16 Python
python3使用PyMysql连接mysql数据库实例
2017/02/07 Python
简单谈谈Python中的几种常见的数据类型
2017/02/10 Python
python 构造三维全零数组的方法
2018/11/12 Python
python主线程与子线程的结束顺序实例解析
2019/12/17 Python
文件上传服务器-jupyter 中python解压及压缩方式
2020/04/22 Python
HTML5 canvas基本绘图之绘制矩形
2016/06/27 HTML / CSS
用HTML5制作一个简单的桌球游戏的教程
2015/05/12 HTML / CSS
北大研究生linux应用求职信
2013/10/29 职场文书
补充协议书范本
2014/04/23 职场文书
出国留学计划书
2014/04/27 职场文书
片区教研活动总结
2014/07/02 职场文书
公司董事长助理工作职责
2014/07/12 职场文书
办公用品质量保证书
2015/05/11 职场文书
关于军训的感想
2015/08/07 职场文书
如何利用golang运用mysql数据库
2022/03/13 Golang
MySQL远程无法连接的一些常见原因总结
2022/09/23 MySQL