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 { }

相关内容

热门资讯

玩家必看科普透视挂!新天道ai... 玩家必看科普透视挂!新天道ai智能透视挂app,新天道辅助工具手筋(果然发现有挂)新天道能透视中分为...
重大科普辅助挂!蘑菇大厅ai智... 重大科普辅助挂!蘑菇大厅ai智能辅助挂技巧,蘑菇大厅透视软件指南(一直发现有挂)1、玩家可以在蘑菇大...
今日透视!长江互娱ai智能透视... 今日透视!长江互娱ai智能透视工具,长江互娱透视神器讲义(其实有挂方法)1、操作简单,无需长江互娱手...
推荐十款辅助挂!华山大厅13水... 推荐十款辅助挂!华山大厅13水ai智能辅助挂技巧,华山大厅13水有没有挂吗法子(好像有挂技术)1、金...
突发辅助挂!乐乐互娱ai智能辅... 突发辅助挂!乐乐互娱ai智能辅助挂app,乐乐互娱开挂脚本阶段(一贯果真有挂)1、游戏颠覆性的策略玩...
玩家必用辅助挂!玄龙新版大厅a... 玩家必用辅助挂!玄龙新版大厅ai智能辅助挂方法,玄龙新版大厅开挂透视教程学习(原来发现有挂)玄龙新版...
推荐一款辅助器!南瓜大厅ai智... 推荐一款辅助器!南瓜大厅ai智能辅助器工具,南瓜大厅开挂破解教程书(竟然发现有挂)1、进入游戏-大厅...
盘点一款透视!天狗大厅ai智能... 盘点一款透视!天狗大厅ai智能透视app,天狗大厅能不能开挂方案(其实【自定义5】)1、在天狗大厅插...
必备教程透视!吉米互娱ai智能... 必备教程透视!吉米互娱ai智能透视攻略,吉米互娱开挂透视教程攻略(本来有挂技术)运吉米互娱辅助工具,...
据通报辅助器!领跑娱乐ai智能... 据通报辅助器!领跑娱乐ai智能辅助器插件,领跑娱乐到底有没有挂烘培(其实有挂解密)1、领跑娱乐模拟器...