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 相关文章推荐
前后台交互过程中json格式如何解析以及如何生成
Dec 26 Javascript
jQuery实现id模糊查询的小例子
Mar 19 Javascript
javascript ajax的5种状态介绍
Aug 18 Javascript
WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现
Jan 12 Javascript
微信小程序 页面跳转事件绑定的实例详解
Sep 20 Javascript
详解webpack中的hash、chunkhash、contenthash区别
Jan 05 Javascript
Vue中用props给data赋初始值遇到的问题解决
Nov 27 Javascript
Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结
May 28 Javascript
微信小程序实现商城倒计时
Nov 01 Javascript
如何基于原生javaScript生成带图片的二维码
Nov 21 Javascript
Vue.js实现可编辑的表格
Dec 11 Javascript
js删除对象中的某一个字段的方法实现
Jan 11 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 5.0对象模型深度探索之绑定
2006/09/05 PHP
PHPShop存在多个安全漏洞
2006/10/09 PHP
PHP实现MySQL更新记录的代码
2008/06/07 PHP
php实现简单的权限管理的示例代码
2017/08/25 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
2017/11/20 PHP
thinkPHP5框架分页样式类完整示例
2018/09/01 PHP
php+layui数据表格实现数据分页渲染代码
2019/10/26 PHP
JQuery index()方法使用代码
2010/06/02 Javascript
node.js中的fs.fchownSync方法使用说明
2014/12/16 Javascript
js实现跨域的多种方法
2015/12/25 Javascript
JS实现n秒后自动跳转的两种方法
2020/11/30 Javascript
bootstrapfileinput实现文件自动上传
2016/11/08 Javascript
Javascript基础回顾之(二) js作用域
2017/01/31 Javascript
JavaScript中的遍历详解(多种遍历)
2017/04/07 Javascript
单行 JS 实现移动端金钱格式的输入规则
2017/05/22 Javascript
Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验
2019/04/22 Javascript
详解Vue源码中一些util函数
2019/04/24 Javascript
vue 实现setInterval 创建和销毁实例
2020/07/21 Javascript
python读取json文件并将数据插入到mongodb的方法
2015/03/23 Python
python中利用xml.dom模块解析xml的方法教程
2017/05/24 Python
Python使用Windows API创建窗口示例【基于win32gui模块】
2018/05/09 Python
python用fsolve、leastsq对非线性方程组求解
2018/12/15 Python
python,Django实现的淘宝客登录功能示例
2019/06/12 Python
详解DeBug Python神级工具PySnooper
2019/07/03 Python
python中pip的使用和修改下载源的方法
2019/07/08 Python
关于解决iframe标签嵌套问题的解决方法
2020/03/04 HTML / CSS
英国家电直销:Appliances Direct
2016/09/22 全球购物
尤为Wconcept中国官网:韩国设计师品牌服饰
2019/01/10 全球购物
PHP面试题集
2016/12/18 面试题
大学生毕业自我鉴定
2013/11/06 职场文书
高中生毕业学习总结的自我评价
2013/11/14 职场文书
恶搞卫生巾广告词
2014/03/18 职场文书
法制宣传标语
2014/06/23 职场文书
婚庆公司计划书
2014/09/15 职场文书
焦点访谈观后感
2015/06/11 职场文书
班主任工作总结范文
2015/08/13 职场文书