Какой эквивалент функции php getallheaders () в Angular 4/5? - PullRequest
0 голосов
/ 27 апреля 2018

Что эквивалентно функции php getallheaders () в Angular 4/5?

Мне нужно получить заголовки запроса, но я не могу найти это в Angular. Я могу получить только заголовки ответа с Angular.

Мне нужно получить параметры заголовка запроса, когда приложение не отправляет запрос на получение или публикацию. На рисунке мне нужны параметры X-MSISDN и X-IMSI

Я пробую класс Interceptor, но он работает только при отправке запросов на получение или отправку сообщений.

Пояснение:

Я открываю приложение с этим URL: 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 голосов
/ 27 апреля 2018

После моего комментария: вы можете создать сервис, который отвечает за обработку всех ваших заголовков. Это также хорошая практика: вы централизуете логику функции.

Вот пример службы, которая может сделать это. Он может создавать заголовки 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;
  }

}
0 голосов
/ 27 апреля 2018

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;
  }
0 голосов
/ 27 апреля 2018

В угловом, если это объект, например obj{name:"ABC" , role:"Student"} тогда Object.keys(obj); вернет заголовки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...