Angular 4/5中php getallheaders()函数的等价是多少?

时间:2018-04-27 11:54:13

标签: php angular http-headers

Angular 4/5中php getallheaders()函数的等价是什么?

我需要获取请求标头,但我无法在Angular中找到它。我只能获得Angular的响应头。

I need to get request header parameters when application start not sending get or post request. In picture i need X-MSISDN and X-IMSI parameters

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

说明:

我使用此网址打开应用程序:http://localhost:4200/#/ 在这个时候我的请求标题是这样的:

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参数。

3 个答案:

答案 0 :(得分:0)

根据我的评论:您可以创建一个负责处理所有标头的服务。这也是一个很好的做法:你集中了一个功能的逻辑。

这是一个可以做到这一点的服务实例。它可以创建JSON标头,将新标头添加到列表中,重置它们...自己查看。

import { Injectable } from '@angular/core';
import { Headers } from '@angular/http';

@Injectable()
export class HeadersManagerService {

  private headers: Headers;

  constructor() {
    this.resetHeaders();
  }

  resetHeaders() {
    this.headers = new Headers();
  }

  newHeader(key, value) {
    this.headers.append(key, value);
  }

  createJsonHeaders() {
    this.resetHeaders();
    this.headers.append('Content-Type', 'application/json');
  }

  getHeaders() {
    return this.headers;
  }

}

答案 1 :(得分:0)

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;
  }

答案 2 :(得分:-2)

例如,如果它是对象,则在角度 obj{name:"ABC" , role:"Student"}然后Object.keys(obj);会返回标题