Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.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
Angular 如何正确拦截请求_Angular_Angular Http Interceptors - Fatal编程技术网

Angular 如何正确拦截请求

Angular 如何正确拦截请求,angular,angular-http-interceptors,Angular,Angular Http Interceptors,我已经设置了一个拦截器类,将jwt令牌添加到请求头中,但是请求仍然没有令牌 我已经设置了类,并在调用request.clone之前放置了一个console.log,以查看我的令牌是否真的存在。但它似乎没有传递给请求: export class JwtInterceptor implements HttpInterceptor { constructor(private authenticationService: AuthenticationService) { }

我已经设置了一个拦截器类,将jwt令牌添加到请求头中,但是请求仍然没有令牌

我已经设置了类,并在调用
request.clone
之前放置了一个
console.log
,以查看我的令牌是否真的存在。但它似乎没有传递给请求:

export class JwtInterceptor implements HttpInterceptor {
        constructor(private authenticationService: AuthenticationService) { }

        intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
                // add authorization header with jwt token if available
                let currentUser = this.authenticationService.currentUserValue;
                let currentToken = this.authenticationService.currentTokenValue;

                if (currentUser && currentToken) {
                    console.log(currentToken);

                    const cloned = request.clone({
                                setHeaders: {
                                        Authorization: `Bearer ${currentToken}`
                                }
                        });
                }

                return next.handle(request);
        }
}
请求是在成功记录之后发出的。我重定向到主页,ngInit调用这个方法

我希望使用头中的令牌执行请求,但它没有通过(对不起,我的英语)


有人能帮忙吗?

你创建了
克隆的
,却什么都没做。归还它

intercept(request: HttpRequest<any>, next: HttpHandler) {
    // ... yada yada yada ...
      if ... {
        return request.clone({ setHeaders: { Authorization: `Bearer ${currentToken}` } });
      }
      return next.handle(request);   
}
intercept(请求:HttpRequest,下一步:HttpHandler){
//…雅达雅达雅达。。。
如果{
return request.clone({setHeaders:{Authorization:`Bearer${currentToken}}}});
}
下一步返回。处理(请求);
}

很抱歉为这些小事浪费您的时间。谢谢你的帮助。现在很好
intercept(request: HttpRequest<any>, next: HttpHandler) {
    // ... yada yada yada ...
      if ... {
        return request.clone({ setHeaders: { Authorization: `Bearer ${currentToken}` } });
      }
      return next.handle(request);   
}