摘要: 从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);
} }

最新文章

  1. 【敏捷开发】Android团队开发规范
  2. linux中如何启动和关闭svn
  3. 简单的小工具wordlight——让VS变量高亮起来
  4. Xcode 7中http通信出现如下错误:Application Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app&#39;s Info.plist file.
  5. wordpress数据库表说明
  6. Linux安装mysql最新版本纪要
  7. 198. 213. 337. House Robber -- 不取相邻值的最大值
  8. CCNA 6.3
  9. 十一 SOA 与 ESB
  10. Java动态替换InetAddress中DNS的做法简单分析2
  11. 在MFC框架中使用OpenGL的简单实例
  12. Linux/Unix工具与正则表达式的POSIX规范
  13. 使用Docker官方的Django包【转】
  14. vim各种编码设置问题
  15. css样式清零及常用类
  16. Python json &amp; pickle, shelve 模块
  17. usb 枚举流程
  18. bzoj千题计划317:bzoj4650: [Noi2016]优秀的拆分(后缀数组+差分)
  19. Spark的Streaming和Spark的SQL简单入门学习
  20. Ubuntu16下配置支持Windows访问的samba共享

热门文章

  1. Akka源码分析-Actor发消息
  2. hbuilder中的 http://www.w3.org/TR/html4/strict.dtd
  3. jsp里post和get的乱码解决问题
  4. NHibernate系列学习(二)-使用sql和hql以及linq
  5. 将class类对象转化成json的数据格式
  6. 元素属性的添加删除(原生js)
  7. 电源管理POWER_SUPPLY_PROP_CAPACITY_LEVEL
  8. java编码终极探秘
  9. 設置VS2015
  10. LVS部分调度算法的适应场景分析