angular6之Http服務


在angular中我們可以將http請求封裝成服務,在組件中引入該服務,
就可以實現前后端的數據請求。
具體實現:
1、ng generate service app
在app根目錄下生成app.service.ts的文件,里面基本配置項已經生成。
2、引入Injectable注入模塊,同時引入http模塊
import { Injectable } from '@angular/core’
import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';

@Injectable({
  providedIn: 'root'
})
加上providedIn: ‘root’,自動將服務加入到跟模塊的providers中,這樣該服務就可以在應用中的任何地方使用
3、構造函數中聲明http的私有屬性,將httpClient注入到http中
constructor (
private $http: HttpClient
){}

httpParams類可以設置請求參數

具體設置:

let params = new HttpParams();

params=params.set(key, value);


httpHeader類用來設置請求頭

具體設置:

let headers = new HttpHeaders().set("Content-Type", "application/json");


http的Request方法,執行請求並返回Observable對象(類似於promise,處理異步編程的解決方案),最后直接調用Observable.subscribe方法處理結果。

例如:

this.$http.request('get', url, {params: params, headers: headers});

request方法的傳參官方說明,可以針對post,get等做統一封裝。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM