我想在网页关闭时,把采集到的访问信息ajax到服务器,实际可行吗??
大概代码结构如下:
window.onbeforeunload=function(e){
visit_end=new Date();
visit_long=((visit_end.getTime()-visit_start.getTime())/1000).toFixed(1);
//此处省略以上采集的访问信息
ajax_visit_info(); //在关闭网页时,调用ajax函数发送到后台。
//return confirm('你真的要关闭吗?'); //不想加上这个,看起来不友好。
}
问题是,用window.onbeforeunload触发ajax,实际应用上 可行吗?
万一用户手机卡了,或者是网络出什么问题,会不会有高概率 错失触发ajax??
PS:我用wamp测试是可以的。
高洛峰2017-05-19 10:27:34
你这种做法肯定会导致数据丢失的,而且一旦丢失就找不回来。
如果这些数据比较重要的话,建议存一个副本到本地缓存中,每次进来做一次时间戳比对,如果时间戳比上次提交到后台更新,则更新后台数据。
这样做能避免因网络问题导致的数据丢失。