JavaScript

超轻量级php框架startmvc

angular5 httpclient的示例实战

更新时间:2020-07-02 03:36:01 作者:startmvc
从angular4.3.0以后的版本开始使用httpclient,替换了之前的http,引用的包路径已经变为了angular

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

angular5 httpclient angular httpclient