搜尋

首頁  >  問答  >  主體

javascript - 在網頁關閉時,把收集到的訪問資訊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測試是可以的。

天蓬老师天蓬老师2780 天前764

全部回覆(1)我來回復

  • 高洛峰

    高洛峰2017-05-19 10:27:34

    你這種做法一定會導致資料遺失的,而且一旦遺失就找不回來。

    如果這些資料比較重要的話,建議存一個副本到本地快取中,每次進來做一次時間戳比對,如果時間戳比上次提交到後台更新,則更新後台資料。

    這樣做能避免因網路問題而導致的資料遺失。

    回覆
    0
  • 取消回覆