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 相关文章推荐
如何实现iframe(嵌入式帧)的自适应高度
Jul 26 Javascript
jquery nth-child()选择器的简单应用
Jul 10 Javascript
javascript常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
Dec 25 Javascript
js注意img图片的onerror事件的分析
Jan 01 Javascript
Js,alert出现乱码问题的解决方法
Jun 19 Javascript
分享Javascript中最常用的55个经典小技巧
Nov 29 Javascript
ionic实现带字的toggle滑动组件
Aug 27 Javascript
KnockoutJS 3.X API 第四章之click绑定
Oct 10 Javascript
bootstrap modal+gridview实现弹出框效果
Aug 15 Javascript
jQuery实现滚动到底部时自动加载更多的方法示例
Feb 18 jQuery
详解ajax的data参数错误导致页面崩溃
Apr 30 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
Jun 20 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/10/15 PHP
php实现可逆加密的方法
2015/08/11 PHP
php的api数据接口书写实例(推荐)
2016/09/22 PHP
tp5(thinkPHP5)框架实现多数据库查询的方法
2019/01/10 PHP
jquery ajax执行后台方法
2010/03/18 Javascript
javascript实现rgb颜色转换成16进制格式
2015/07/10 Javascript
jQuery实现多级联动下拉列表查询框
2016/01/18 Javascript
微信小程序(应用号)简单实例应用及实例详解
2016/09/26 Javascript
JS限定手机版中图片大小随分辨率自动调整的方法
2016/12/05 Javascript
JS闭包可被利用的常见场景小结
2017/04/09 Javascript
获取当前按钮或者html的ID名称实例(推荐)
2017/06/23 Javascript
限时抢购-倒计时的完整实例(分享)
2017/09/17 Javascript
jquery无缝图片轮播组件封装
2020/11/25 jQuery
JavaScript 斐波那契数列 倒序输出 输出100以内的质数代码实例
2019/09/11 Javascript
简单了解JavaScript arguement原理及作用
2020/05/28 Javascript
vue添加自定义右键菜单的完整实例
2020/12/08 Vue.js
python正则表达式去掉数字中的逗号(python正则匹配逗号)
2013/12/25 Python
python使用xlrd实现检索excel中某列含有指定字符串记录的方法
2015/05/09 Python
python 删除大文件中的某一行(最有效率的方法)
2017/08/19 Python
设置python3为默认python的方法
2018/10/31 Python
python实现学员管理系统
2019/02/26 Python
Python 常用模块 re 使用方法详解
2019/06/06 Python
keras 解决加载lstm+crf模型出错的问题
2020/06/10 Python
解决python便携版无法直接运行py文件的问题
2020/09/01 Python
Python脚本打包成可执行文件过程解析
2020/10/20 Python
瑜伽灵感珠宝:Satya Jewelry
2018/01/06 全球购物
法国大使拉杆箱官网:DELSEY Paris
2018/03/20 全球购物
农民致富事迹材料
2014/01/23 职场文书
教师档案管理制度
2014/01/23 职场文书
网络研修随笔感言
2014/02/17 职场文书
离婚协议书标准格式
2014/10/04 职场文书
党的群众路线教育实践活动制度建设计划方案
2014/10/31 职场文书
2015年五四青年节活动总结
2015/02/10 职场文书
党小组推荐意见
2015/06/02 职场文书
2016庆祝教师节新闻稿
2015/11/25 职场文书
python正则表达式re.search()的基本使用教程
2021/05/21 Python