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、下载...
透视资料!菠萝辅助器免费版的功... 透视资料!菠萝辅助器免费版的功能介绍(透视)福建大菠萝万能辅助器(辅助)一贯是真的有脚本(哔哩哔哩)...
透视窍要!哈糖大菠萝可以开挂吗... 透视窍要!哈糖大菠萝可以开挂吗(WPK控制牌)都是真的有辅助工具(哔哩哔哩)1、该软件可以轻松地帮助...
透视模块!hhpoker是真的... 透视模块!hhpoker是真的吗(HHpoker机器人)本来是真的有辅助技巧(哔哩哔哩)在进入hhp...
透视诀窍!epoker有透视吗... 透视诀窍!epoker有透视吗(透视)pokemmo修改器手机版(辅助)真是真的是有教程(哔哩哔哩)...
透视学习!wepokerplu... 透视学习!wepokerplus到底是挂了吗(WePoKer价格)好像是真的有辅助脚本(哔哩哔哩)1...
透视教程书!德州透视竞技联盟(... 透视教程书!德州透视竞技联盟(透视)pokerworld软件(辅助)真是一直总是有app(哔哩哔哩)...
透视模板!wepoker有脚本... 透视模板!wepoker有脚本吗(WePoKer私人局)真是存在有辅助攻略(哔哩哔哩)一、wepok...
透视技法!pokeplus脚本... 透视技法!pokeplus脚本(HHpoker控制牌)确实是真的有辅助攻略(哔哩哔哩)1、每一步都需...
透视教程书!智星德州插件(透视... 透视教程书!智星德州插件(透视)智星菠萝辅助(辅助)其实是真的有方法(哔哩哔哩)1、许多玩家不知道智...