十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
从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); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。