Angular在POST/PUT请求中删除了授权头
创始人
2024-10-30 20:30:46
0

这是因为Angular的HttpClient默认使用了浏览器提供的XMLHttpRequest对象,在发送跨域请求时会先发送OPTIONS预检请求进行验证,此时如果代码中没有对OPTIONS请求进行处理,则会导致授权头被删除。解决方法是在服务端添加CORS(跨源资源共享)配置,或者在Angular代码中添加拦截器对OPTIONS请求进行处理,在请求头中添加Access-Control-Allow-Headers字段,并将其设为所需要的授权头。

以下是示例代码:

// 定义拦截器 @Injectable() export class AuthInterceptor implements HttpInterceptor { intercept(req: HttpRequest, next: HttpHandler): Observable> { if (localStorage.getItem('token')) { req = req.clone({ setHeaders: { Authorization: Bearer ${localStorage.getItem('token')} } }); }

if (req.method === 'OPTIONS') {
  req = req.clone({
    headers: req.headers.set('Access-Control-Allow-Headers', 'Authorization')
  });
}

return next.handle(req);

} }

// 在模块中添加拦截器 @NgModule({ imports: [ BrowserModule, HttpClientModule ], providers: [ { provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true } ], bootstrap: [AppComponent] }) export class AppModule { }

相关内容

热门资讯

透视数据!wepoker辅助器... 透视数据!wepoker辅助器激活码,wepoker软件辅助程序(总是真的有挂)1、完成wepoke...
透视规律!wepoker免费透... 透视规律!wepoker免费透视脚本,wepoker辅助软件视频(都是存在有挂);1、实时wepok...
透视总结!wepoker私人局... 透视总结!wepoker私人局辅助挂,wepokerplus作弊(确实真的是有挂)1、游戏颠覆性的策...
透视肯定!wepoker辅助是... 透视肯定!wepoker辅助是真的假的,wepoker数据分析工具(好像真的是有挂)1、wepoke...
透视神器!we poker插件... 透视神器!we poker插件,wepoker透视脚本安卓(一直真的有挂)1)wepoker透视脚本...
透视美元局!wepoker辅助... 透视美元局!wepoker辅助脚本,wepoker透视脚本免费app(都是真的有挂);1)wepok...
透视黑科技!wepoker免费... 透视黑科技!wepoker免费脚本,wepoker透视脚本免费app(竟然是真的有挂);1、打开软件...
透视智能ai!wepoker国... 透视智能ai!wepoker国外版透视,wepoker破解器激活码(确实有挂)1、首先打开wepok...
辅助透视!wepoker怎么挂... 辅助透视!wepoker怎么挂底牌,wepoker辅助脚本(总是是真的有挂);1、游戏颠覆性的策略玩...
透视透视!wepoker透视最... 透视透视!wepoker透视最简单三个步骤,wepoker怎么挂飞机(总是有挂)运wepoker透视...