Http get request responseType错误:Angular 4

时间:2018-05-04 18:03:55

标签: angular

我正在我的应用程序中进行http GET调用,该调用按以下方式构建:

this.authHttp.get(serviceUrl, { responseType: ResponseContentType.Blob }).toPromise()
    .then((res) => {
............................

但是,我的IDE中出现错误:(附截图截图)

enter image description here

如果我将呼叫更改为POST呼叫(不是),则错误消失。有人能指出我在这里犯的错误吗?感谢。

2 个答案:

答案 0 :(得分:0)

ResponseContentType来自旧的http模块。如果您使用的是较新的HttpClient,请使用responseType: 'blob'

答案 1 :(得分:0)

Angular 2 您需要导入和实例化Headers和RequestOptios类:

import { Http, Headers, RequestOptions } from '@angular/http';

并在方法

中使用它
const headers:Headers = new Headers();
headers.append('responseType', ResponseContentType.Blob);
const opts: RequestOptions = new RequestOptions({ headers  });
this.authHttp.get('url', opts).toPromise()
   .then((res) => {
    ............................;

角度> 4

import { HttpClient, HttpHeaders } from '@angular/common/http';

使用它

const httpHeaders: HttpHeaders = new HttpHeaders();
httpHeaders.append('responseType', ResponseContentType.Blob);
this.authHttp.get('url', { headers: httpHeaders }).toPromise()
       .then((res) => {
        ............................;