angular5 httpclient的示例实战


Posted in Javascript onMarch 12, 2018

从angular 4.3.0 以后的版本开始使用httpclient,替换了之前的http,引用的包路径已经变为了angular/common/http了

一个基础的 httpclient 样例

import { Injectable } from '@angular/core';
import { HttpClient, HttpResponse } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
import { HttpDefaultOptions } from './http.default.options';

@Injectable()
export class Service {

 private static METHOD_DELTE = 'DELETE';
 private static METHOD_POST = 'POST';
 private static METHOD_GET = 'GET';
 private static METHOD_PUT = 'PUT';

 constructor(private httpClient: HttpClient) {
 }

 /**
  * 将数据上传
  * @param data
  * @param {Function} func
  */
 uploadDataPost(data: any, func: Function) {
  let url = '/api/test';
  this.apiPost(url, data)
   .subscribe((response: HttpResponse) => {
    func(response);
   }, error => {
    func(undefined);
   });
 }

 /**
  * 返回json 格式的obj 对象
  * @param url
  * @param body
  * @param urlSearchParams
  * @returns {Observable<{}>}
  */
 apiPost(url, body, urlSearchParams?: any): Observable<{}> {
  let options = {
   body: body ? body : null,
   params: urlSearchParams,
   responseType: 'json'
  };
  return this.httpClient.request(Service.METHOD_POST, url, options);
 }

 /**
  * 返回一个obj 对象
  * @param url
  * @param urlSearchParams url 的查询参数
  * @returns {Observable<{}>}
  */
 apiGet(url, urlSearchParams?: any): Observable<{}> {
  let options = {
   params: urlSearchParams,
   responseType: 'json'
  };
  return this.httpClient.request(Service.METHOD_GET, url, options);
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS 建立对象的方法
Apr 21 Javascript
详谈JavaScript内存泄漏
Nov 14 Javascript
Jquery的基本对象转换和文档加载用法实例
Feb 25 Javascript
Ext JS动态加载JavaScript创建窗体的方法
Jun 23 Javascript
JS for...in 遍历语句用法实例分析
Aug 24 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
Sep 13 Javascript
如何实现星星评价(jquery.raty.js插件)
Dec 21 Javascript
Angularjs中使用layDate日期控件示例
Jan 11 Javascript
纯JS实现弹性导航条效果
Mar 06 Javascript
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
Jun 30 Javascript
Angular2整合其他插件的方法
Jan 20 Javascript
微信小程序云开发之数据库操作
May 18 Javascript
vue 简单自动补全的输入框的示例
Mar 12 #Javascript
webpack打包js的方法
Mar 12 #Javascript
AngularJS对动态增加的DOM实现ng-keyup事件示例
Mar 12 #Javascript
vue路由懒加载的实现方法
Mar 12 #Javascript
vue移动UI框架滑动加载数据的方法
Mar 12 #Javascript
详解vuex的简单使用
Mar 12 #Javascript
js提取中文拼音首字母的封装工具类
Mar 12 #Javascript
You might like
php从数组中随机抽取一些元素的代码
2012/11/05 PHP
ThinkPHP之A方法实例讲解
2014/06/20 PHP
PHP基于cookie与session统计网站访问量并输出显示的方法
2016/01/15 PHP
jQuery中操控hidden、disable等无值属性的方法
2014/01/06 Javascript
将查询条件的input、select清空
2014/01/14 Javascript
javascript实现全角与半角字符的转换
2015/01/07 Javascript
JS实现IE状态栏文字缩放效果代码
2015/10/24 Javascript
javascript断点调试心得分享
2016/04/23 Javascript
jQuery验证插件validate使用详解
2016/05/11 Javascript
jQuery模仿京东/天猫商品左侧分类导航菜单效果
2016/06/29 Javascript
jquery插件bootstrapValidator数据验证详解
2016/11/09 Javascript
基于jquery实现的鼠标悬停提示案例
2016/12/11 Javascript
浅谈JavaScript中promise的使用
2017/01/11 Javascript
jQuery实现的简单排序功能示例【冒泡排序】
2017/01/13 Javascript
详谈$.data()的用法和作用
2017/02/13 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
2018/04/28 Javascript
解决element UI 自定义传参的问题
2018/08/22 Javascript
js实现计时器秒表功能
2019/12/16 Javascript
javascript设计模式 ? 备忘录模式原理与用法实例分析
2020/04/21 Javascript
Python操作SQLite简明教程
2014/07/10 Python
Python的collections模块中的OrderedDict有序字典
2016/07/07 Python
python中format()函数的简单使用教程
2018/03/14 Python
Python中pip更新和三方插件安装说明
2018/07/08 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
2018/10/11 Python
详解Python list和numpy array的存储和读取方法
2019/11/06 Python
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
2020/07/13 Python
CSS3田字格列表的样式编写方法
2018/11/22 HTML / CSS
Anya Hindmarch官网:奢侈设计师手袋及配饰
2018/11/15 全球购物
专业实习自我鉴定
2013/10/29 职场文书
优秀部门获奖感言
2014/02/14 职场文书
工作评语大全
2014/04/26 职场文书
重大事项社会稳定风险评估方案
2014/06/15 职场文书
2015新学期家长寄语
2015/02/26 职场文书
小学一年级班主任工作经验交流材料
2015/11/02 职场文书
浅谈MySQL之select优化方案
2021/08/07 MySQL
利用For循环遍历Python字典的三种方法实例
2022/03/25 Python