前端数据上报 sendBeacon

2019-11-05  本文已影响0人  HelenYin
axios.post(url, data);

问题:在页面卸载或者刷新的时候上报,请求会在浏览器关闭或者重新加载的时候被cancel掉,导致上报失败。
如果把ajax请求改为同步请求就可以保证一定能发送到服务器。由于fetchaxios 都不支持同步请求,如果使用 XMLHttpRequest 发送同步请求,会阻塞页面关闭或者重新加载的过程,影响用户体验。

navigator.sendBeacon(url, data);

可以保证数据有效送达,且不会阻塞页面的卸载或加载

上一篇 下一篇

猜你喜欢

热点阅读