要解决Angular的HTTP响应头问题,可以使用拦截器来修改或添加响应头。下面是一个示例代码:
http-interceptor.ts
的拦截器文件:import { Injectable } from '@angular/core';
import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from '@angular/common/http';
import { Observable } from 'rxjs';
@Injectable()
export class CustomHttpInterceptor implements HttpInterceptor {
intercept(request: HttpRequest, next: HttpHandler): Observable> {
// 修改或添加响应头
request = request.clone({
setHeaders: {
'Custom-Header': 'Custom Value'
}
});
return next.handle(request);
}
}
app.module.ts
中提供该拦截器:import { NgModule } from '@angular/core';
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
import { CustomHttpInterceptor } from './http-interceptor';
@NgModule({
imports: [HttpClientModule],
providers: [
{
provide: HTTP_INTERCEPTORS,
useClass: CustomHttpInterceptor,
multi: true
}
]
})
export class AppModule { }
现在,每次发出的HTTP请求都会带有自定义的响应头。您可以根据需要修改Custom-Header
和Custom Value
的值。