Angular 7 HttpHeaders是空的

问题描述 投票:0回答:1

我知道HttpHeaders是不可变的。我已经尝试了几种不同的方法来初始化它们,或者附加到它们,但是当我记录它们时,它总是显示它们是空的。

我尝试用所有值初始化它们:

const headers = new HttpHeaders({
  'Authorization': `Bearer ${this.auth.accessToken}`,
  'Content-Type': 'application/json'
});

我试过设置:

let headers = new HttpHeaders();
headers = headers.set('Authorization', `Bearer ${this.auth.accessToken}`);
headers = headers.set('Content-Type', 'application/json');

我试过追加:

let headers = new HttpHeaders();
headers = headers.append('Authorization', `Bearer ${this.auth.accessToken}`);
headers = headers.append('Content-Type', 'application/json');

但是所有结果都是空标题,API说它无法找到任何授权令牌。

Console output:

Console output of http headers

我究竟做错了什么?

angular typescript http immutability
1个回答
1
投票

这可能是由于lazy parsing,你必须做一个get来访问价值观。未实现为键值对。

HttpHeaders类表示HTTP请求的标头配置选项。应该通过延迟解析假定实例是不可变的。

console.log(headers.getAll('Authorization'))

但是,为了确保发送标头,更好的检查位置是DevTools中的Network选项卡。

© www.soinside.com 2019 - 2024. All rights reserved.