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命令汇总,方便使用jquery的朋友
Jun 26 Javascript
JavaScript插件化开发教程(六)
Feb 01 Javascript
基于bootstrap插件实现autocomplete自动完成表单
May 07 Javascript
JS中微信小程序自定义底部弹出框
Dec 22 Javascript
基于JavaScript实现自定义滚动条
Jan 25 Javascript
assert()函数用法总结(推荐)
Jan 25 Javascript
Javascript循环删除数组中元素的几种方法示例
May 18 Javascript
关于 angularJS的一些用法
Nov 29 Javascript
vue实现随机验证码功能的实例代码
Apr 30 Javascript
vue接入腾讯防水墙代码
May 07 Javascript
小程序实现新用户判断并跳转激活的方法
May 20 Javascript
微信小程序如何访问公众号文章
Jul 08 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
是否存在第一台收音机的说法
2021/03/01 无线电
php在线生成ico文件的代码
2007/10/09 PHP
PHP URL地址获取函数代码(端口等) 推荐
2010/05/15 PHP
理解php Hash函数,增强密码安全
2011/02/25 PHP
PHP日期函数date格式化UNIX时间的方法
2015/03/19 PHP
谈谈php对接芝麻信用踩的坑
2016/12/01 PHP
PHP单例模式定义与使用实例详解
2017/02/06 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
JavaScript 捕获窗口关闭事件
2009/07/26 Javascript
5个书写JavaScript代码的坏习惯,看看你中枪了没?
2014/11/06 Javascript
jquery+CSS3模拟Path2.0动画菜单效果代码
2015/08/31 Javascript
Javascript类型转换的规则实例解析
2016/02/23 Javascript
JS简单判断函数是否存在的方法
2017/02/13 Javascript
Bootstrap框架建立树形菜单(Tree)的实例代码
2017/10/30 Javascript
在Vant的基础上封装下拉日期控件的代码示例
2018/12/05 Javascript
vue通过v-html指令渲染的富文本无法修改样式的解决方案
2020/05/20 Javascript
Vue 组件复用多次自定义参数操作
2020/07/27 Javascript
python基础教程之简单入门说明(变量和控制语言使用方法)
2014/03/25 Python
python爬虫实战之爬取京东商城实例教程
2017/04/24 Python
详谈Python高阶函数与函数装饰器(推荐)
2017/09/30 Python
[原创]python爬虫(入门教程、视频教程)
2018/01/08 Python
pip安装时ReadTimeoutError的解决方法
2018/06/12 Python
Python爬虫使用脚本登录Github并查看信息
2018/07/16 Python
Python函数返回不定数量的值方法
2019/01/22 Python
深入解析python中的实例方法、类方法和静态方法
2019/03/11 Python
详解Python 实现 ZeroMQ 的三种基本工作模式
2020/03/24 Python
eVitamins日本:在线购买折扣维生素、补品和草药
2019/04/04 全球购物
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
巴西一家专门从事家居和装饰的连锁店:Camicado
2019/08/14 全球购物
班组长的岗位职责
2013/12/09 职场文书
政风行风评议工作总结
2014/10/21 职场文书
用人单位聘用意向书
2015/05/11 职场文书
关于环保的宣传稿
2015/07/23 职场文书
公开致歉信
2019/06/24 职场文书
学者《孟子》名人名言
2019/08/09 职场文书
Java实现添加条码或二维码到Word文档
2022/06/01 Java/Android