【发布时间】:2020-06-25 00:12:11
【问题描述】:
在我的 Angular 应用程序中,我有一个进行 API 调用的服务文件。在我的功能之一如下。
getSelectedPractitionerPermissions(id): Observable<classA> {
const url = apiUrl
this.options = this.authService.getAuthInfo();
return this.http.get<classA>(url, this.options);
}
但我收到如下错误
类型“Observable
我拥有从 getAutInfo 获得的所有必需的标头和令牌
getAuthInfo() {
const bearerToken = localStorage.getItem('token');
let headers: HttpHeaders = new HttpHeaders();
headers = headers.append('Authorization', 'Bearer ' + bearerToken);
headers = headers.append('Cache-control', 'no-cache');
headers = headers.append('Cache-control', 'no-store');
headers = headers.append('Expires', 'Sat, 01 Jan 2000 00:00:00 GMT');
headers = headers.append('Pragma', 'no-cache');
return { headers };
}
如果我删除 GET 路由中的 this.options,它可以正常工作。但我想拥有它们,因为我需要传递令牌和其他参数。
【问题讨论】:
-
您是否遇到运行时错误或编译错误?
-
@Damith 编译时错误
-
试试这个 return this.http.get
(url, {headers: this.options }) -
@Damith 如果我尝试这样做,错误就消失了,但标头未在 API 调用中传递
-
这是我用来获取标题的方式。
private getAuthInfo() { const bearerToken = localStorage.getItem('token'); const headers = new HttpHeaders(); headers.append('Authorization', 'Bearer ' + bearerToken); headers.append('Cache-control', 'no-cache'); headers.append('Cache-control', 'no-store'); headers.append('Expires', 'Sat, 01 Jan 2000 00:00:00 GMT'); headers.append('Pragma', 'no-cache'); return headers; }
标签: angular angular-cli angular9 angular-cli-v9