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 相关文章推荐
原型方法的不同写法居然会影响调试的解决方法
Mar 08 Javascript
jQuery使用手册之三 CSS操作
Mar 24 Javascript
手机端网页点击链接触发自动拨打或保存电话的示例代码
Aug 15 Javascript
JavaScript DOM基础
Apr 13 Javascript
微信小程序网络请求的封装与填坑之路
Apr 01 Javascript
解决vue2.x中数据渲染以及vuex缓存的问题
Jul 13 Javascript
vue-star评星组件开发实例
Mar 01 Javascript
微信小程序云开发如何使用npm安装依赖
May 18 Javascript
初学node.js中实现删除用户路由
May 27 Javascript
浅谈Vue的响应式原理
May 30 Javascript
解决layer弹出层的内容页点击按钮跳转到新的页面问题
Sep 14 Javascript
何时/使用 Vue3 render 函数的教程详解
Jul 25 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+SqlServer实现分页显示
2006/10/09 PHP
用PHP4访问Oracle815
2006/10/09 PHP
PHP 一个页面执行时间类代码
2010/03/05 PHP
PHP中使用register_shutdown_function函数截获fatal error示例
2015/04/21 PHP
thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
2015/05/21 PHP
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
2015/10/20 PHP
作为程序员必知的16个最佳PHP库
2015/12/09 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
PHP实现的多维数组去重操作示例
2018/07/21 PHP
Javacript实现颜色梯度变化和渐变的效果代码
2013/05/31 Javascript
js点击出现悬浮窗效果不使用JQuery插件
2014/01/20 Javascript
使用jQuery的attr方法来修改onclick值
2014/07/07 Javascript
JavaScript中数据结构与算法(三):链表
2015/06/19 Javascript
node.js读取文件到字符串的方法
2015/06/29 Javascript
Javascript技术难点之apply,call与this之间的衔接
2015/12/04 Javascript
高效利用Angular中内置服务$http、$location等
2016/03/22 Javascript
JS组件Bootstrap实现下拉菜单效果代码
2016/04/26 Javascript
JavaScript操作表单实例讲解(上)
2016/06/20 Javascript
JavaScript编写九九乘法表(两种任选)
2017/02/04 Javascript
js实现分页功能
2017/05/24 Javascript
angularJs使用ng-repeat遍历后选中某一个的方法
2018/09/30 Javascript
浅谈vue-router路由切换 组件重用挖下的坑
2019/11/01 Javascript
在pycharm中开发vue的方法步骤
2020/03/04 Javascript
python关闭windows进程的方法
2015/04/18 Python
python+selenium开发环境搭建图文教程
2017/08/11 Python
tensorflow: 查看 tensor详细数值方法
2018/06/13 Python
使用Python微信库itchat获得好友和群组已撤回的消息
2018/06/24 Python
python爬虫 正则表达式解析
2019/09/28 Python
Python collections中的双向队列deque简单介绍详解
2019/11/04 Python
Python如何使用神经网络进行简单文本分类
2021/02/25 Python
农业生产宣传标语
2014/10/08 职场文书
2014年小学英语教师工作总
2014/12/03 职场文书
圣诞晚会主持词
2015/07/01 职场文书
2016年基层党组织创先争优承诺书
2016/03/25 职场文书
golang生成vcf通讯录格式文件详情
2022/03/25 Golang
Java的Object类的九种方法
2022/04/13 Java/Android