Javascript 拦截器从请求中删除头 @Injectable() 导出类TokenInterceptorService实现HttpInterceptor{ 构造函数(专用注入器:注入器){ } 截取(req:HttpRequest,next:HttpHandler):可观察{ const authReq=req.clone({ headers:req.headers.set('Authorization',“dassda”) }); console.log(authReq); 返回next.handle(authReq); } }
Internet上的任何教程都使用此代码在请求中添加授权标头,在我的情况下,如果我设置了标头,所有其他标头都将被删除 错误:“CORS策略已阻止从源“”访问“”处的XMLHttpRequest:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许源”标头” 但如果我删除行Javascript 拦截器从请求中删除头 @Injectable() 导出类TokenInterceptorService实现HttpInterceptor{ 构造函数(专用注入器:注入器){ } 截取(req:HttpRequest,next:HttpHandler):可观察{ const authReq=req.clone({ headers:req.headers.set('Authorization',“dassda”) }); console.log(authReq); 返回next.handle(authReq); } },javascript,angular,typescript,Javascript,Angular,Typescript,Internet上的任何教程都使用此代码在请求中添加授权标头,在我的情况下,如果我设置了标头,所有其他标头都将被删除 错误:“CORS策略已阻止从源“”访问“”处的XMLHttpRequest:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许源”标头” 但如果我删除行headers:req.headers.set('Authorization',“dassda”)总是可以的 console.log(请求头)返回映射(0) 我正在努力: 硬编码所有标题-任何地方出错 尝试使
headers:req.headers.set('Authorization',“dassda”)
总是可以的
console.log(请求头)
返回映射(0)
我正在努力:
- 硬编码所有标题-任何地方出错
- 尝试使用req.headers中的所有方法,如append、setHeaders、headers
- 附加标题,如“访问控制允许来源/标题/方法”等 -创建新标题
- 下载谷歌插件Moesif Origin&CORS Changer,该程序将所有需要的头添加到所有请求中-然后写入错误“已被阻止 按CORS策略:对飞行前请求的响应未通过访问权限 控制检查:它没有HTTP ok状态。“
您可以这样使用,这是在克隆过程中添加新标题的快捷方式
@Injectable()
export class TokenInterceptorService implements HttpInterceptor {
constructor(private injector: Injector) {
}
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const authReq = req.clone({
headers: req.headers.set('Authorization', "dassda")
});
console.log(authReq);
return next.handle(authReq);
}
}
您可以这样使用,这是在克隆过程中添加新标题的快捷方式
@Injectable()
export class TokenInterceptorService implements HttpInterceptor {
constructor(private injector: Injector) {
}
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
const authReq = req.clone({
headers: req.headers.set('Authorization', "dassda")
});
console.log(authReq);
return next.handle(authReq);
}
}
问题出在我的后端(Java),我将这段代码粘贴到我的config方法中,一切正常
request = request.clone({
setHeaders: {
Authorization: `Bearer ${token}`
},
});
问题出在我的后端(Java),我将这段代码粘贴到我的配置方法中,一切都很好
request = request.clone({
setHeaders: {
Authorization: `Bearer ${token}`
},
});
正在努力this@Vlad,我在本地代码上尝试了相同的方法,setHeaders将向请求追加新的头,而旧的头将被保留。你能创建一个stackblitz并分享它吗?我正在尝试this@Vlad,我在本地代码上尝试了相同的方法,setHeaders将向请求追加新的头,而旧的头将被保留。你能创建一个stackblitz并共享它吗?试试req=req.clone({headers:req.headers.set('Authorization',“dassda”)});不使用常量use-req-objecttry-req=req.clone({headers:req.headers.set('Authorization','dassda')});而不是使用const use req对象