在网页关闭时,把收集到的访问信息ajax到服务器,实际可行吗??

我想在网页关闭时,把采集到的访问信息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测试是可以的。

阅读 1.8k
1 个回答

你这种做法肯定会导致数据丢失的,而且一旦丢失就找不回来。

如果这些数据比较重要的话,建议存一个副本到本地缓存中,每次进来做一次时间戳比对,如果时间戳比上次提交到后台更新,则更新后台数据。

这样做能避免因网络问题导致的数据丢失。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题