angular5 httpclient的示例实战
2024-08-30 23:58:06
摘要: 从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);
}
}
最新文章
- 【敏捷开发】Android团队开发规范
- linux中如何启动和关闭svn
- 简单的小工具wordlight——让VS变量高亮起来
- 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.
- wordpress数据库表说明
- Linux安装mysql最新版本纪要
- 198. 213. 337. House Robber -- 不取相邻值的最大值
- CCNA 6.3
- 十一 SOA 与 ESB
- Java动态替换InetAddress中DNS的做法简单分析2
- 在MFC框架中使用OpenGL的简单实例
- Linux/Unix工具与正则表达式的POSIX规范
- 使用Docker官方的Django包【转】
- vim各种编码设置问题
- css样式清零及常用类
- Python json &; pickle, shelve 模块
- usb 枚举流程
- bzoj千题计划317:bzoj4650: [Noi2016]优秀的拆分(后缀数组+差分)
- Spark的Streaming和Spark的SQL简单入门学习
- Ubuntu16下配置支持Windows访问的samba共享
热门文章
- Akka源码分析-Actor发消息
- hbuilder中的 http://www.w3.org/TR/html4/strict.dtd
- jsp里post和get的乱码解决问题
- NHibernate系列学习(二)-使用sql和hql以及linq
- 将class类对象转化成json的数据格式
- 元素属性的添加删除(原生js)
- 电源管理POWER_SUPPLY_PROP_CAPACITY_LEVEL
- java编码终极探秘
- 設置VS2015
- LVS部分调度算法的适应场景分析