【发布时间】:2020-01-06 06:39:21
【问题描述】:
我正在使用 get 方法在 header 中发送 4 个数据(id、token、ROLE、EMPCODE),
我收到错误
错误 HttpErrorResponse {标头:HttpHeaders,状态:403, statusText: "禁止"
我的令牌是正确的,它我签入了 Postman, 我得到了状态为 200 的响应,但我在我的项目中遇到了这个问题
我正在分享我的服务文件代码
employeeData( id , token , role , employeeCode){
let headers = new HttpHeaders();
headers.append('id', id);
headers.append('TOKEN', token);
headers.append('ROLE', role);
headers.append('EMPCODE' , employeeCode);
headers.append( 'Content-Type' , 'application/json');
return this.http.get(this.emp_data, {headers: headers});
}
我正在从我订阅的组件共享代码以获取响应。
viewdetails(){
this.rest.employeeData(this.userId,this.token,this.role, this.employeeCode).subscribe(
result => {
console.log('hello');
console.log(result);
})
}
当我签入浏览器的网络标头时,我可以检查我在请求中传递的标头没有通过那里。
【问题讨论】:
-
这意味着您的令牌无效。请在发送请求之前检查令牌或使用有效凭据创建新令牌。
-
@Channa 我的令牌是正确的,我在 Postman 中检查过,当我检查浏览器的网络标头时,我可以检查我在请求中传递的标头没有通过那里
-
如果您的令牌有效,它来自邮递员并且您使用来自 Angular 的相同令牌,然后尝试在标头中传递 userAgent。如果有 cloudfare,那么当 userAgent 未在标头中传递时,它可能会抛出 403。 Postman 默认将其添加到请求的标头中。
标签: angular angular8 angular-httpclient angular-http