Angular 7 HttpHeaders为空

时间:2019-02-26 02:38:23

标签: angular typescript http immutability

我知道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 of http headers

我在做什么错了?

1 个答案:

答案 0 :(得分:1)

这可能是由于lazy parsing造成的,您必须执行get才能访问值。没有实现为键-值对。

  

HttpHeaders类表示   HTTP请求。应当假定实例通过延迟解析是不可变的。

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

但是,要确保发送了标头,可以在DevTools中的 Network标签中查看更好的地方。