我的问题是,当我调用一个函数监听事件onBeforeUnload()时,我想使用httpClient请求发布数据。问题是我的请求没有发送。这里的代码
@HostListener('window:beforeunload', ['$event'])
onBeforeUnload(): void {
this._httpClient.post(`${localhost:8080/apiRest}`, infoIWantToSent).subscribe();
}
我不知道这是否是遵循的好方法。预先感谢您的回答。
答案 0 :(得分:1)
为什么不使用ngOnDestroy?
export class NewComponent implements OnDestroy{
ngOnDestroy() {
this._httpClient.post(${localhost:8080/apiRest}, infoIWantToSent).subscribe();
}
}
答案 1 :(得分:1)
谢谢您的回答。 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));
}
好像在工作该令牌是我的应用程序的连接令牌。