Заголовок запроса в Angular 5.2 - PullRequest
0 голосов
/ 02 июня 2018

Я пытаюсь отправить запрос.SessionConfirmationNumber удаляется.Все остальное в порядке.Я вижу его значение в журнале консоли

console.log('the Session Number', options.headers.sessionConfirmationNumber) //works can see the value e.g.: 23524545245

return this.http
    .post(environment.domain + url, body,  { headers: new HttpHeaders({
      '_dynSessConf': options.headers.sessionConfirmationNumber,
      'Authorization_Test': 'TestValue',
      'ClientBrowserId': options.headers.clientbrowseruid,
      'Content-Type': 'application/json'
    })})
    .catch(this.config.handleError)
    .map((responseData: any) => {
      console.log('Response Data ', responseData)          
    })

, когда я проверяю вкладку сети, он буквально удаляет _dynSessConf.Я попытался жестко закодировать значение _dynSessConf: test-val, и это работает.Просто когда оно имеет значение, оно не работает.Это очень расстраивает.

Я попытался создать httpHeader и снова добавить значения

var headers = new HttpHeaders();
        headers = headers.append('Content-Type', 'application/json');
        headers = headers.append('Authorization_Test', 'TestValue');
        headers = headers.append('DynSess', options.headers.sessionConfirmationNumber);

    return this.http
    .post(environment.domain + url, body,  { headers: headers})

. Я вижу значения в консоли в разделе lazyUpdate.Но он жалуется на

enter image description here

Error: Uncaught (in promise): profileService.handleProfile error TypeError: undefined is not a function

1 Ответ

0 голосов
/ 02 июня 2018

Решением было преобразовать число в строку перед отправкой в ​​качестве параметра.

const dynNum = String(options.headers._dynSessConf)
this.http
    .post(environment.domain + url, body,  { headers: new HttpHeaders({
      '_dynSessConf': dynNum,
      'Authorization_Test': 'TestValue',
      'ClientBrowserId': 'options.headers.clientbrowseruid',
      'Content-Type': 'application/json'
    })})
...