Angular 7 HttpHeaders 为空

Tre*_*vor 7 http immutability typescript angular

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

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

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

我试过设置:

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

我试过附加:

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

但所有结果都导致空标头,API 表示无法找到任何授权令牌。

控制台输出:

http标头的控制台输出

我究竟做错了什么?

sab*_*ker 6

这可能是由于延迟解析,您必须执行 aget才能访问值。不作为键值对实现。

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

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

但是,为了确保发送标头,更好的检查位置是DevTools 中的“网络”选项卡