在 Angular 中添加 header 'Authorization'
Adding header 'Authorization' in Angular
我想为每个请求设置 header。
我正在使用 request.clone 在 Angular 7.2.14
中设置 header
import { HttpInterceptor, HttpEvent, HttpRequest, HttpHandler, HttpResponse, HttpErrorResponse, HttpHeaders } from '@angular/common/http';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
export class AuthInterceptor implements HttpInterceptor {
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const token=localStorage.getItem('token');
console.log(token);
request.clone({ headers: request.headers.set('Authorization', token) });
return next.handle(request)
}
}
我没有收到错误,但我可以看到授权 header
request.clone()
returns 一个对象,不改变原点。
尝试将 request.clone()
作为参数传递。
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const token=localStorage.getItem('token');
console.log(token);
return next.handle(request.clone({ headers: request.headers.set('Authorization', token) });)
}
您返回的是旧请求,而不是克隆请求。
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const token = localStorage.getItem('token');
request = request.clone({
setHeaders: {
Authorization: `Bearer ${token}`
}
});
return next.handle(request);
}
我想为每个请求设置 header。
我正在使用 request.clone 在 Angular 7.2.14
中设置 headerimport { HttpInterceptor, HttpEvent, HttpRequest, HttpHandler, HttpResponse, HttpErrorResponse, HttpHeaders } from '@angular/common/http';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
export class AuthInterceptor implements HttpInterceptor {
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const token=localStorage.getItem('token');
console.log(token);
request.clone({ headers: request.headers.set('Authorization', token) });
return next.handle(request)
}
}
我没有收到错误,但我可以看到授权 header
request.clone()
returns 一个对象,不改变原点。
尝试将 request.clone()
作为参数传递。
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const token=localStorage.getItem('token');
console.log(token);
return next.handle(request.clone({ headers: request.headers.set('Authorization', token) });)
}
您返回的是旧请求,而不是克隆请求。
intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const token = localStorage.getItem('token');
request = request.clone({
setHeaders: {
Authorization: `Bearer ${token}`
}
});
return next.handle(request);
}