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 相关文章推荐
JQuery实现的在新窗口打开链接的方法小结
Apr 22 Javascript
中文路径导致unitpngfix.js不正常的解决方法
Jun 26 Javascript
JQuery异步获取返回值中文乱码的解决方法
Jan 29 Javascript
轻松学习jQuery插件EasyUI EasyUI创建菜单与按钮
Nov 30 Javascript
基于jquery编写的放大镜插件
Mar 23 Javascript
vue图片加载与显示默认图片实例代码
Mar 16 Javascript
vue.js中v-on:textInput无法执行事件问题的解决过程
Jul 12 Javascript
关于jQuery里prev()的简单操作代码
Oct 27 jQuery
axios的拦截请求与响应方法
Aug 11 Javascript
又拍云 Node.js 实现文件上传、删除功能
Oct 28 Javascript
Jquery让form表单异步提交代码实现
Nov 14 jQuery
vue使用swiper实现左右滑动切换图片
Oct 16 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
基于mysql的bbs设计(五)
2006/10/09 PHP
深入php var_dump()函数的详解
2013/06/05 PHP
从PHP的源码中深入了解stdClass类
2014/04/18 PHP
php微信高级接口群发 多客服
2016/06/23 PHP
ThinkPHP实现更新数据实例详解(demo)
2016/06/29 PHP
PHP在线打包下载功能示例
2016/10/15 PHP
PHP实现负载均衡下的session共用功能
2018/04/17 PHP
PHP实现基本留言板功能原理与步骤详解
2020/03/26 PHP
五个jQuery图片画廊插件 推荐
2011/05/12 Javascript
7款吸引人眼球的jQuery/CSS3特效实例分享
2013/04/25 Javascript
JS冒泡事件的快速解决方法
2013/12/16 Javascript
JQuery异步加载无限下拉框级联功能实现示例
2014/02/19 Javascript
JS获取时间的方法
2015/01/21 Javascript
jquery中EasyUI实现异步树
2015/03/01 Javascript
Node.js实现Excel转JSON
2015/04/24 Javascript
一道关于JavaScript变量作用域的面试题
2016/03/08 Javascript
深入浅析knockout源码分析之订阅
2016/07/12 Javascript
浅谈jQuery before和insertBefore的区别
2016/12/04 Javascript
webpack配置文件和常用配置项介绍
2017/04/28 Javascript
jQuery选择器之表单元素选择器详解
2017/09/19 jQuery
Vue 创建组件的两种方法小结(必看)
2018/02/23 Javascript
在layui.use 中自定义 function 的正确方法
2019/09/16 Javascript
vue实现移动端省市区选择
2019/09/27 Javascript
[37:45]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS Orenda
2014/05/22 DOTA
[01:21]DOTA2周边文化主题展 神秘商店火热开售
2017/07/30 DOTA
python高阶爬虫实战分析
2018/07/29 Python
浅析Python 3 字符串中的 STR 和 Bytes 有什么区别
2018/10/14 Python
python,Django实现的淘宝客登录功能示例
2019/06/12 Python
python 整数越界问题详解
2019/06/27 Python
python3中pip3安装出错,找不到SSL的解决方式
2019/12/12 Python
英国家电直销:Appliances Direct
2016/09/22 全球购物
教师自我鉴定
2013/12/13 职场文书
财务总监管理职责范文
2014/03/09 职场文书
授权委托书样本及填写说明
2014/09/19 职场文书
精神病医院见习报告
2014/11/03 职场文书
TensorFlow的自动求导原理分析
2021/05/26 Python