我在请求的标头中设置 JWT 时遇到问题。这是我构建请求的方式:
const headers = { 'x-access-token' : this.token };
const config = { headers: headers };
return this.http.get(this.allStudentsUrl, config)
.toPromise()
.catch((error) => this.handleError(error))
.then((response) => this.handleStudents(response));
当我逐步完成时,这看起来很完美,但它是通过带有令牌的服务器来的。在服务器上,标头如下所示:
-= 编辑 =-
为了回答一些问题,我实际上开始使用 Headers 和 RequestOptions 类,这给了我奇怪的结果,所以我转而使用对象文字来尝试简化。这就是我所拥有的:
let headers = new Headers();
headers.append('x-access-token', this.token);
let config = new RequestOptions({ headers: headers });
return this.http.get(this.allStudentsUrl, config)
.toPromise()
.catch((error) => this.handleError(error))
.then((response) => this.handleStudents(response));
但是,当我将令牌附加到标头时,它只会重复值中的键。这是调试窗口的屏幕截图。
如您所见,即使我将键设置为x-access-token
并将值设置为令牌(我检查它以验证它实际上是令牌),标头x-access-token
同时作为键和值。
我也可以通过检查来验证令牌是否是正确的令牌。这是一个截图:
--== 更多信息 ==--
如果我从 Postman 发送请求,它可以工作。这是邮递员的请求:
这是通过 Node 实现的:
这是我在 Angular 中的要求:
这是通过 Node 实现的: