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

相关内容

热门资讯

四分钟实锤!德州微扑克辅助(云... 四分钟实锤!德州微扑克辅助(云扑克德州)一直有挂(详细辅助wpk教程)1.德州微扑克辅助 ai辅助创...
第五分钟实锤!德州ai人工智能... 第五分钟实锤!德州ai人工智能(来玩德州)都是是有挂(详细辅助玩家教你)1.德州ai人工智能 ai辅...
9分钟实锤!智星德州菠萝开挂(... 9分钟实锤!智星德州菠萝开挂(来玩德州)果然是真的有挂(详细辅助插件教程)亲,关键说明,智星德州菠萝...
第十分钟实锤!德扑之星猫腻(来... 第十分钟实锤!德扑之星猫腻(来玩德州app)切实有挂(详细辅助2025新版教程)1、德扑之星猫腻系统...
1分钟实锤!德扑ai智能机器人... 1分钟实锤!德扑ai智能机器人(德州)真是真的有挂(详细辅助黑科技教程);1、首先打开德扑ai智能机...
第7分钟实锤!智星德州菠萝(来... 第7分钟实锤!智星德州菠萝(来玩德州app)其实真的有挂(详细辅助安装教程);进入游戏-大厅左侧-新...
9分钟实锤!德州之星有外挂(德... 9分钟实锤!德州之星有外挂(德州nzt)其实是有挂(详细辅助可靠技巧)1、德州之星有外挂系统规律教程...
第八分钟实锤!德扑ai智能机器... 第八分钟实锤!德扑ai智能机器人(德州nzt)总是存在有挂(详细辅助力荐教程)1、让任何用户在无需德...
第9分钟实锤!德扑之星辅助器购... 第9分钟实锤!德扑之星辅助器购买(德扑之星)好像是真的有挂(详细辅助2025新版总结)进入游戏-大厅...
第十分钟实锤!德州ai机器人(... 第十分钟实锤!德州ai机器人(德州ai)确实是真的有挂(详细辅助实用技巧);1、首先打开德州ai机器...