Angular2 HttpClient (一)

  @angular/common/http 中的 HttpClient 類爲 Angular 應用程序提供了一個簡化的 API 來實現 HTTP 客戶端功能。它基於瀏覽器提供的 XMLHttpRequest 接口。 HttpClient 帶來的其它優勢包括:可測試性、強類型的請求和響應對象、發起請求與接收響應時的攔截器支持,以及更好的、基於可觀察(Observable)對象的 API 以及流式錯誤處理機制。json

準備工做

  一、要想使用 HttpClient,就要先導入 Angular 的 HttpClientModule。大多數應用都會在根模塊 AppModule中導入它。bootstrap

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { HttpClientModule} from '@angular/common/http';

import { AppComponent } from './app.component';
 @NgModule({
  declarations: [
    AppComponent,
  ],
  imports: [
    BrowserModule,
    // import HttpClientModule after BrowserModule.
    HttpClientModule
  ],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }

  二、在 AppModule 中導入 HttpClientModule 以後,將HttpClient注入到應用類中。api

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';

@Injectable()
export class ConfigService { constructor(private http: HttpClient) { }
}

獲取 JSON 數據

  config.json文件:瀏覽器

{
  "heroesUrl": "api/heroes",
  "textfile": "assets/textfile.txt"
}

 

  一、經過 HttpClient 的 get() 方法獲取Json數據,以下:app

configUrl = 'assets/config.json';

getConfig() {
  return this.http.get(this.configUrl);
}

  二、將 服務service 注入到組件中,並調用其 getConfig 方法。ide

 
 
config: Config;
showConfig() {
  this.configService.getConfig()
    .subscribe((data: Config) => this.config = {
        heroesUrl: data['heroesUrl'],
        textfile:  data['textfile']
    });
}
相關文章
相關標籤/搜索