2012-01-11 135 views
1

我想實現完全透明的自動保存系統爲登錄用戶,但卡住發送數據到瀏覽器關閉服務器。我可以綁定一些函數來卸載事件,但我無法發送任何數據到服務器(使用jQuery/Ajax)。發送數據到服務器在瀏覽器關閉

當用戶關閉瀏覽器時,是否可以向服務器發送數據?

P.S.鑑於即使GMail不會自動保存草稿,但警告可能的數據丟失,認爲任務相當複雜......

+0

您可以在用戶輸入時自動保存文檔。就像在谷歌文檔。 – 2012-01-11 07:29:42

回答

2

將您的AJAX調用設置爲同步。異步調用將使瀏覽器在操作完成之前繼續。

$.ajaxSetup({ async : false }) 

請注意跨域和JSONP調用不支持同步調用$.ajax

2
$(window).unload(function() { 
     $.ajax({ 
     url: yourUrl, 
     type: "POST", 
     data: "value1=value", 
     cache: true, 
     success: function(response){ 

     } 
     }); 
    }); 

你也喜歡「值1 =值&值2 =價值」和{yourUrl}數據PARAMS傳遞多個數據相對或絕對網址

+0

你知道,即使瀏覽器正在關閉,這也可以工作嗎? – jfriend00 2012-01-11 07:20:22

+0

似乎你必須忘記onunload事件,如果你想創建trully跨瀏覽器的應用程序,因爲Opera。傷心(( – 2012-01-11 07:57:39

相關問題