我正在尝试从需要授权标头的 API 获取数据。它在 Postman 和 Node 上运行良好,但是当我尝试在 Angular 中使用它时,它只会返回 401。有人能在我的请求中找到错误吗?花了很长时间尝试,但找不到解决方案。
这是我的data.service.ts
import { Injectable } from '@angular/core';
import { HttpHeaders } from '@angular/common/http';
import { HttpClient } from '@angular/common/http';
@Injectable()
export class DataService{
constructor(private authHttp: HttpClient) {}
getData()
{
return this.authHttp.get('<<API URL>>', {
headers:
new HttpHeaders()
.append('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,PATCH,OPTIONS')
.append('Access-Control-Allow-Origin', 'http://localhost:4200')
.append('Access-Control-Allow-Headers', "Access-Control-Allow-Headers, Access-Control-Allow-Origin, Access-Control-Request-Method")
.append('Authorization', "<<my token>>")
, responseType:'text'})
.subscribe(data => data);
}
}
这是我为检索该数据而对服务进行的调用,但 subscribe 方法返回错误
“订阅”类型上不存在属性“订阅”。您的意思是“取消订阅”吗?
这是我的 data.component.ts (为简洁起见删掉一些行)
constructor(private dt: DataService) { }
this.dt.getData().subscribe(result => {
if (result){
console.log(result);
}
else {
console.log('no result');
}
});
赞赏!