Angular 6-在应用初始化时接收HTTP GET请求

时间:2018-12-28 21:04:05

标签: angular http server

首次启动Angular应用程序时,即在Web应用程序页面返回到客户端浏览器之前,我想从首先请求该应用程序的HTTP请求中提取一些信息。

具体来说,我想从有角度的应用程序内部访问称为有角度的应用程序的HTTP请求的标头。

在Angular 6中有做吗?

谢谢

1 个答案:

答案 0 :(得分:0)

您可以创建一个拦截请求的服务,该服务实现HttpInterceptor接口,可以克隆该请求并推送所需的内容,然后返回。

@Injectable() 导出类RequestInterceptor实现HttpInterceptor {

constructor(private tokenService: TokenService) {}

intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpSentEvent 
    | HttpHeaderResponse | HttpProgressEvent | HttpResponse<any> | HttpUserEvent<any>> {

        if(this.tokenService.hasToken()) {
            const token = this.tokenService.getToken();
            req = req.clone({
                setHeaders: {
                    'x-access-token': token
                }
            });
        }
        return next.handle(req);
}

别忘了在模块中声明服务:

提供者:[{提供:HTTP_INTERCEPTORS,useClass:RequestInterceptor,多:true}]

相关问题