Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
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 - Fatal编程技术网

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 拦截器从请求中删除头 @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) 我正在努力: 硬编码所有标题-任何地方出错 尝试使

Internet上的任何教程都使用此代码在请求中添加授权标头,在我的情况下,如果我设置了标头,所有其他标头都将被删除

错误:“CORS策略已阻止从源“”访问“”处的XMLHttpRequest:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许源”标头”

但如果我删除行
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对象