我正在Angular4项目中工作,在此我需要在用户关闭浏览器窗口时将日期和时间传递给API。 可能吗 ? 如果可能意味着如何实施它??
现在我在页面加载时将日期和时间传递给API ....
import { Component, OnInit } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { DatePipe } from '@angular/common';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit{
today = Date.now();
fixedTimezone =this.today;
res : string;
constructor(private http: HttpClient) {}
ngOnInit() {
this.http.get('http://freegeoip.net/json/?callback')
.subscribe(
data => this.saveIP(data['ip']),
error => console.error(error)
);
}
saveIP(address: string) {
this.http.get(`http://localhost:57036/api/data/GetClientIp/?IP_Address=${address}&Time=${this.fixedTimezone}`)
.subscribe(data => this.res = data['']);
}
}
就像我想在页面关闭时传递日期和时间的方式....
...谢谢
答案 0 :(得分:0)
您可以使用@HostListener
收听beforeunload事件。遗憾的是,我们无法保证您的请求将被调用。
@HostListener('window:beforeunload', ['$event'])
beforeunloadHandler(event) {
// make request to API
}