2012-01-11 17 views
1

ログオンしたユーザーに対して完全に透過的な自動保存システムを実装しようとしていますが、ブラウザを閉じるとサーバーにデータが送信されてしまいました。私はいくつかのfunctionallityをアンロードイベントにバインドできますが、(jQuery/Ajaxを使用して)サーバーにデータを送信できませんでした。ブラウザでサーバーにデータを送信します。

ユーザーがブラウザを閉じると、サーバーにデータを送信することはできますか?

P.S.でも、GMailでもドラフトは自動的に保存されませんが、データが消失する可能性があるという警告が表示され、タスクがかなり複雑であると考えられます...

+0

ユーザータイプのときに文書を自動的に保存できます。 Googleドキュメントのように。 –

答えて

2

AJAXコールを同期に設定します。非同期呼び出しは、オペレーションが完了する前にブラウザーを移動させます。

$.ajaxSetup({ async : false }) 

クロスドメインとJSONP呼び出しは同期呼び出し$.ajax

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

     } 
     }); 
    }); 

をサポートしていないあなたも「VALUE1 =値&値2 =値」のようなデータのparams内の複数のデータを渡し、{yourUrl}がありますのでご注意ください相対URLまたは絶対URL

+0

ブラウザが閉じていてもこれが機能することは知っていますか? – jfriend00

+0

Operaのために、トゥルー・クロス・ブラウザのアプリケーションを作成したい場合は、onunloadイベントを忘れる必要があるようです。悲しい(( –

関連する問題