我知道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表示无法找到任何授权令牌。
我在做什么错了?
答案 0 :(得分:1)
这可能是由于lazy parsing造成的,您必须执行get
才能访问值。没有实现为键-值对。
HttpHeaders类表示 HTTP请求。应当假定实例通过延迟解析是不可变的。
执行console.log(headers.getAll('Authorization'))
但是,要确保发送了标头,可以在DevTools中的 Network标签中查看更好的地方。