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 跨域访问问题解决方法
Dec 02 Javascript
js 上下左右键控制焦点(示例代码)
Dec 14 Javascript
Bootstrap风格的zTree右键菜单
Feb 17 Javascript
浅谈angularJS的$watch失效问题的解决方案
Aug 11 Javascript
json字符串传到前台input的方法
Aug 06 Javascript
Angular动态绑定样式及改变UI框架样式的方法小结
Sep 03 Javascript
如何在 JavaScript 中更好地利用数组
Sep 27 Javascript
Electron-vue开发的客户端支付收款工具的实现
May 24 Javascript
vue App.vue中的公共组件改变值触发其他组件或.vue页面监听
May 31 Javascript
超简单的微信小程序轮播图
Nov 22 Javascript
jQuery实现简单QQ聊天框
Aug 27 jQuery
vue 导出文件,携带请求头token操作
Sep 10 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
3种平台下安装php4经验点滴
2006/10/09 PHP
PHP求最大子序列和的算法实现
2011/06/24 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
写出更好的JavaScript之undefined篇(上)
2009/11/22 Javascript
Js 随机数产生6位数字
2010/05/13 Javascript
select 控制网页内容隐藏于显示的实现代码
2010/05/25 Javascript
return false,对阻止事件默认动作的一些测试代码
2010/11/17 Javascript
jQuery之ajax技术的详细介绍
2013/06/19 Javascript
node.js中的fs.symlink方法使用说明
2014/12/15 Javascript
全面解析Bootstrap图片轮播效果
2015/12/03 Javascript
BootStrap 超链接变按钮的实现方法
2016/09/25 Javascript
JS 实现可停顿的垂直滚动实例代码
2016/11/23 Javascript
基于JavaScript实现活动倒计时效果
2017/04/20 Javascript
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
2017/04/21 jQuery
jQuery实现jQuery-form.js实现异步上传文件
2017/04/28 jQuery
Node.js实现文件上传的示例
2017/06/28 Javascript
使用Bootstrap4 + Vue2实现分页查询的示例代码
2017/12/21 Javascript
js+canvas实现滑动拼图验证码功能
2018/03/26 Javascript
深入理解Vue.js轻量高效的前端组件化方案
2018/12/10 Javascript
Vue实现数据请求拦截
2019/10/23 Javascript
全面解析Python的While循环语句的使用方法
2015/10/13 Python
分享一下如何编写高效且优雅的 Python 代码
2017/09/07 Python
Python爬取附近餐馆信息代码示例
2017/12/09 Python
Python使用googletrans报错的解决方法
2018/09/25 Python
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
2019/04/17 Python
Django权限设置及验证方式
2020/05/13 Python
python爬虫中采集中遇到的问题整理
2020/11/27 Python
Python控制鼠标键盘代码实例
2020/12/08 Python
关于css中margin的值和垂直外边距重叠问题
2020/10/27 HTML / CSS
Python面试题集
2012/03/08 面试题
技能比赛获奖感言
2014/02/14 职场文书
父母寄语大全
2014/04/12 职场文书
2014年学校禁毒工作总结
2014/12/23 职场文书
停课通知书
2015/04/24 职场文书
新学期主题班会
2015/08/17 职场文书
Nginx 反向代理解决跨域问题多种情况分析
2022/01/18 Servers