我知道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说它无法找到任何授权令牌。
我究竟做错了什么?
这可能是由于lazy parsing,你必须做一个get
来访问价值观。未实现为键值对。
HttpHeaders类表示HTTP请求的标头配置选项。应该通过延迟解析假定实例是不可变的。
做console.log(headers.getAll('Authorization'))
但是,为了确保发送标头,更好的检查位置是DevTools中的Network选项卡。