Angular 添加标题';授权';棱角分明
我想为每个请求设置标题 我正在使用request.clone设置Angular 7.2.14中的标题Angular 添加标题';授权';棱角分明,angular,token,interceptor,Angular,Token,Interceptor,我想为每个请求设置标题 我正在使用request.clone设置Angular 7.2.14中的标题 import { HttpInterceptor, HttpEvent, HttpRequest, HttpHandler, HttpResponse, HttpErrorResponse, HttpHeaders } from '@angular/common/http'; import { Observable } from 'rxjs'; import { map } from 'rxjs
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)
}
}
import{HttpInterceptor,HttpEvent,HttpRequest,HttpHandler,HttpResponse,HttpErrorResponse,HttpHeaders}来自'@angular/common/http';
从“rxjs”导入{Observable};
从“rxjs/operators”导入{map};
导出类AuthInterceptor实现HttpInterceptor{
拦截(请求:HttpRequest,下一个:HttpHandler):可观察{
const token=localStorage.getItem('token');
console.log(令牌);
clone({headers:request.headers.set('Authorization',token)});
返回next.handle(请求)
}
}
我没有收到错误,但我可以看到授权头请求。clone()
返回一个对象,不改变源
尝试将request.clone()作为参数传递
intercept(请求:HttpRequest,下一步:HttpHandler):可观察的{
const token=localStorage.getItem('token');
console.log(令牌);
返回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);
}
intercept(请求:HttpRequest,下一步:HttpHandler):可观察{
const token=localStorage.getItem('token');
request=request.clone({
集合标题:{
授权:`Bearer${token}`
}
});
下一步返回。处理(请求);
}
您调用request.clone(),但忽略了结果,即新的克隆请求,其标题为。已尝试但控制台上出现错误,被CORS Policy阻止,这是一个完全不同的问题。谷歌搜索CORS。对飞行前请求的响应可能不允许使用Authoriation标头。看得到同样的错误。我已经告诉过你这个错误是一个完全不同的问题。谷歌搜索CORS。对飞行前请求的响应可能不允许使用Authoriation标头。看见修复前端代码不会神奇地修复服务器配置。已尝试,但被CORS策略阻止