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 引起的安全问题
Dec 27 Javascript
关于onScroll事件在IE6下每次滚动触发三次bug说明
Sep 21 Javascript
从数据结构分析看:用for each...in 比 for...in 要快些
Apr 17 Javascript
js下拉菜单语言选项简单实现
Sep 23 Javascript
jQuery中dequeue()方法用法实例
Dec 29 Javascript
javascript将DOM节点添加到文档的方法实例分析
Aug 04 Javascript
AngularJS入门教程之与服务器(Ajax)交互操作示例【附完整demo源码下载】
Nov 02 Javascript
bootstrap多种样式进度条展示
Dec 20 Javascript
基于jQuery实现的打字机效果
Jan 16 Javascript
JS简单生成由字母数字组合随机字符串示例
May 25 Javascript
vue实现导航标题栏随页面滚动渐隐渐显效果
Mar 12 Javascript
Vue 中获取当前时间并实时刷新的实现代码
May 12 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
vBulletin HACK----关于排版的两个HACK
2006/10/09 PHP
Zend studio for eclipse中使php可以调用mysql相关函数的设置方法
2008/10/13 PHP
php json_encode值中大括号与花括号区别
2013/09/30 PHP
php5.2 Json不能正确处理中文、GB编码的解决方法
2014/03/28 PHP
PHP JSON出错:Cannot use object of type stdClass as array解决方法
2014/08/16 PHP
jQuery 选择器理解
2010/03/16 Javascript
判断及设置浏览器全屏模式
2014/04/20 Javascript
2014年最火的Node.JS后端框架推荐
2014/10/27 Javascript
js实现iPhone界面风格的单选框和复选框按钮实例
2015/08/18 Javascript
angular.bind使用心得
2015/10/26 Javascript
javascript自动切换焦点控制效果完整实例
2016/02/02 Javascript
在vue2.0中引用element-ui组件库的方法
2018/06/21 Javascript
Vue源码探究之状态初始化
2018/11/14 Javascript
微信小程序学习笔记之跳转页面、传递参数获得数据操作图文详解
2019/03/28 Javascript
angular2 NgModel模块的具体使用方法
2019/04/10 Javascript
关于AngularJS中几种Providers的区别总结
2020/05/17 Javascript
微信小程序学习总结(五)常见问题实例小结
2020/06/04 Javascript
谈谈JavaScript中的函数
2020/09/08 Javascript
jquery实现鼠标悬浮弹出气泡提示框
2020/12/23 jQuery
python抓取京东商城手机列表url实例代码
2013/12/18 Python
Python实现合并两个有序链表的方法示例
2019/01/31 Python
python使用Plotly绘图工具绘制柱状图
2019/04/01 Python
如何使用Python破解ZIP或RAR压缩文件密码
2020/01/09 Python
关于ResNeXt网络的pytorch实现
2020/01/14 Python
Python代码一键转Jar包及Java调用Python新姿势
2020/03/10 Python
HTML5 与 XHTML2
2008/10/17 HTML / CSS
html5开发三八女王节表白神器
2018/03/07 HTML / CSS
微软澳洲官方网站:Microsoft Australia
2017/01/10 全球购物
美国鲜花递送:UrbanStems
2021/01/04 全球购物
纠风工作实施方案
2014/03/15 职场文书
大学生迟到检讨书500字
2014/10/17 职场文书
2014年作风建设剖析材料
2014/10/23 职场文书
婚礼父母致辞
2015/07/28 职场文书
Nginx配置80端口访问8080及项目名地址方法解析
2021/03/31 Servers
解决Pytorch中关于model.eval的问题
2021/05/22 Python
MySQL系列之二 多实例配置
2021/07/02 MySQL