Не удается опубликовать запрос httpClient при вызове до выгрузки - PullRequest
2 голосов
/ 14 марта 2019

Моя проблема в том, что когда я вызываю функцию, которая прослушивает событие onBeforeUnload (), я хочу опубликовать данные с запросом httpClient.Проблема в том, что мой запрос не отправлен.Вот код

  @HostListener('window:beforeunload', ['$event'])
  onBeforeUnload(): void {
     this._httpClient.post(`${localhost:8080/apiRest}`, infoIWantToSent).subscribe();
  }

Я не знаю, если это хороший способ следовать.Заранее благодарю за ответ.

Ответы [ 2 ]

1 голос
/ 14 марта 2019

Спасибо за ваш ответ.OnDestroy не работает в моем случае (никогда не звоните).Я нахожу решение с помощью:

@HostListener('window:beforeunload', ['$event']) onBeforeUnload(): void { const xhr = new XMLHttpRequest(); xhr.open('POST', $ {localhost: 8080 / apiRest , false); xhr.setRequestHeader('Content-Type', 'application/json'); xhr.setRequestHeader('Authorization', 'Bearer ' + token); return xhr.send(JSON.stringify(infoIWantToSent)); } Кажется, это работает.токен является токеном соединения моего приложения.

1 голос
/ 14 марта 2019

Почему вы не используете ngOnDestroy?

export class NewComponent implements OnDestroy{
    ngOnDestroy() {
            this._httpClient.post(${localhost:8080/apiRest}, infoIWantToSent).subscribe();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...