错误原因:angular6不再支持原来的Http,用HttpClient代替了原来的Http
解决方案:
1. import
import {Http, Headers, Response} from '@angular/http';
改为=>
import {HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
2.constructor
constructor(private httpService: Http) {}
改为=>
constructor(private httpClient: HttpClient) {}
3.具体用法
const headers = new Headers({'Content-Type': 'application/json','x-access-token': localStorage.getItem('token') ? localStorage.getItem('token') : ''});return this.httpService.get(environment.baseUrl + 'users/myheadshot',{headers: headers}).map((response: Response) => {return response.json();});
改为=>
const headers = new HttpHeaders({'Content-Type': 'application/json','x-access-token': localStorage.getItem('token') ? localStorage.getItem('token') : ''});return this.httpClient.get<any>(environment.baseUrl + 'users/myheadshot', {headers: headers});
注意:在换成httpClient后,必须指定返回类型,不然会报错,返回类型紧接get/post...之后,用尖括号括起来,比如httpClient.get<any>,当不知道返回类型是什么时,用any。