>웹 프론트엔드 >JS 튜토리얼 >Angle5 httpclient의 예제 실습

Angle5 httpclient의 예제 실습

亚连
亚连원래의
2018-05-30 17:41:311772검색

이 글은 주로angular5 httpclient의 실제 사례를 소개하고 있습니다.

Angular 4.3.0 이상 버전에서 httpclient를 사용하기 시작하여 이전 http를 대체하고 참조 패키지 경로가 angle/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: &#39;json&#39;
  };
  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: &#39;json&#39;
  };
  return this.httpClient.request(Service.METHOD_GET, url, options);
 }
}

위는 제가 모두를 위해 컴파일한 것입니다 예 , 앞으로 모든 사람에게 도움이되기를 바랍니다.

관련 기사:

Vue 사용자 정의 동적 구성 요소 예제에 대한 자세한 설명

Javascript 성능 최적화를 위한 시간 공유 기능 소개

JavaScript에서 전자 메일 주소 형식 확인

위 내용은 Angle5 httpclient의 예제 실습의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.