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

Angular 6-在应用程序初始化时接收HTTP GET请求,angular,http,server,Angular,Http,Server,当我的Angular应用程序第一次启动时,也就是说在web应用程序的页面返回到客户端浏览器之前,我想从首先请求该应用程序的HTTP请求中提取一些信息 具体来说,我想从angular应用程序内部访问称为angular应用程序的HTTP请求的头 在Angular 6中是否有这样做的方法 谢谢您可以创建一个拦截请求的服务,实现HttpInterceptor接口,您可以克隆请求并推送所需内容,然后返回 @可注射() 导出类RequestInterceptor实现HttpInterceptor{ cons

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

具体来说,我想从angular应用程序内部访问称为angular应用程序的HTTP请求的头

在Angular 6中是否有这样做的方法


谢谢

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

@可注射() 导出类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);
}
构造函数(私有令牌服务:令牌服务){}
截取(req:HttpRequest,next:HttpHandler):可观察{
if(this.tokenService.hasToken()){
const token=this.tokenService.getToken();
req=req.clone({
集合标题:{
“x-access-token”:标记
}
});
}
返回next.handle(req);
}
不要忘记在模块中声明服务:


提供者:[{provide:HTTP_拦截器,useClass:RequestInterceptor,multi:true}]

@R.Richards我可能不清楚,但我想从angular应用程序内部访问调用angular应用程序的HTTP请求的标题。然后更新问题以澄清问题!@R.Richards我现在更新了问题。你知道我怎么做吗?类似这样的内容:抱歉,但angular拦截器只截获传出的请求角应用程序所做的STS。我想拦截请求应用到服务器的角度应用程序。@ Kingamere可以用于请求和响应。在发布问题之前,您应该考虑做一些研究。@ R.RICHARDS,拦截服务拦截从角应用程序向某个远程服务器发出的请求,AN。d来自远程服务器的响应。我希望拦截浏览器对angular应用程序本身发出的请求。类似于:angular.io/guide/universal#过滤请求URL