You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular Http拦截器:如何修正Authorization请求头的Token引号问题

解决Angular Http拦截器Authorization头多余引号问题

你的问题出在从localStorage获取的token本身包含双引号,拼接后把引号带入了请求头。只需要在使用token前去除两端的双引号即可。

修改后的拦截器代码:

intercept(
    request: HttpRequest<any>,
    next: HttpHandler
): Observable<HttpEvent<any>> {
    let token = localStorage.getItem('token'); 
    // 去除token两端的双引号
    if (token) {
        token = token.replace(/^"|"$/g, '');
    }
    const newRequest = request.clone({
        headers: request.headers.set('Authorization', `Bearer ${token}`),
    });
    return next.handle(newRequest);
}

补充说明:

  • 正则表达式/^"|"$/g专门匹配token开头和结尾的双引号,替换为空后就能得到纯净的token内容。
  • 如果token前后可能存在空格,可以追加trim()处理:token = token.trim().replace(/^"|"$/g, '')。
  • 使用模板字符串${token}比传统字符串拼接更简洁易读。

内容的提问来源于stack exchange,提问作者Fatih Selvi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 05:10:49