在Angular 4/5中,php getallheaders()函数的等效项是什么?

在Angular 4/5中,php getallheaders()函数的等效项是什么?,php,angular,http-headers,Php,Angular,Http Headers,在Angular 4/5中,php getallheaders()函数的等效项是什么 我需要获取请求头,但在Angular中找不到。我只能得到带有角度的响应标题 我尝试使用Interceptor类,但它只在我发送get或post请求时有效 说明: 我使用以下url打开应用程序: 此时,我的请求头如下所示: Accept: */* Accept-Encoding: gzip, deflate, br Accept-Language: tr-TR,tr;q=0.9,en-US;q=0.8,en;q

在Angular 4/5中,php getallheaders()函数的等效项是什么

我需要获取请求头,但在Angular中找不到。我只能得到带有角度的响应标题

我尝试使用Interceptor类,但它只在我发送get或post请求时有效

说明:

我使用以下url打开应用程序: 此时,我的请求头如下所示:

Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7
Cache-Control: no-cache
Connection: keep-alive
Cookie: s_fid=07C355F600B90B3D-291EBB86E5858A2F; s_cc=true; gdslv_s=Less%20than%201%20day; s_vnum=1556196774798%26vn%3D7; s_invisit=true; s_ppvl=login%2520sayfasi%2C100%2C100%2C933%2C375%2C667%2C375%2C667%2C2%2CLP; s_ppv=Welcome%253Atarife%253Aanasayfa%2C100%2C100%2C667%2C375%2C667%2C375%2C667%2C2%2CP; s_ppn=Welcome%3Atarife%3Aanasayfa; gdslv=1524831169979; s_getNewRepeat=1524831169981-Repeat; utag_main=v_id:0162fcdd2735001117d070e941e904072002406a00918$_sn:7$_ss:0$_st:1524832969982$_pn:2%3Bexp-session$ses_id:1524831079859%3Bexp-session$_prevpage:Welcome%3Atarife%3Aanasayfa%3Bexp-1524834769972
Host: localhost:4200
Pragma: no-cache
Referer: http://localhost:4200/
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1
X-IMSI: 286026134103281
X-MSISDN: 905499914581

Request URL : http://localhost:4200/sockjs-node/info?t=1524831359435

我需要取X-IMSI和X-MSISDN参数

以角度表示,例如,如果是对象
obj{name:“ABC”,role:“Student”}
then
Object.keys(obj)将在我的评论后返回标题

:您可以创建一个负责处理所有标题的服务。这也是一个很好的实践:将功能的逻辑集中化

下面是一个可以做到这一点的服务实例。它可以创建JSON头,将新头附加到列表中,重置它们。。。你自己看看吧

从'@angular/core'导入{Injectable};
从'@angular/http'导入{Headers};
@可注射()
导出类HeadersManagerService{
私有头:头;
构造函数(){
这是resetHeaders();
}
resetHeaders(){
this.headers=新的headers();
}
newHeader(键、值){
this.headers.append(键,值);
}
createJsonHeaders()的{
这是resetHeaders();
this.headers.append('Content-Type','application/json');
}
getHeaders(){
返回此.headers;
}
}

PS:作为答案发布,因为评论太长了

你为什么不这样试试

setHeaders() {
    const headers = new Headers({
      'Content-Type': 'application/x-www-form-urlencoded'
    });
    const options = new RequestOptions({ headers: headers });
    console.log(options.headers);
    // return options;
  }

当您发出HTTP请求时,拦截器工作。这就是路。此外,您必须在一个点上创建响应头。为什么不使用共享服务来创建和获取它们呢?你能举一个共享服务的例子吗?当然,我正在回答。谢谢你的解释。但是我不想创建新的头,我只想从我的图片中获取请求头参数。我尝试了这个,但是对于getHeaders,返回未定义的。我没有看到图像(公司代理)。这就是为什么SOF建议不要在你的问题中发布图片。你能用纯文本来描述你的代码吗?我在我的问题中添加了解释部分。不,它来自标题扩展(单点登录机制)。所以,如果它来自响应,你为什么要尝试在请求中获得它?如果它们已经存在于您的请求中,为什么不使用这种服务来存储它们呢?