2012-04-24 7 views
2

オンラインテキストエディタアプリケーションを作成しています。最後のキーを押した後3分ごとにmongo dbにデータを保存する必要があります。私は上記の機能を追加する必要があるので、私はそれについて行く方法を理解できません私は180秒後にajax呼び出しをトリガーできるjqueryのタイマーが必要です。誰も私が望む結果を得るために使用できるjquery関数を教えてください。私はサーバー側とmongo dbをデータベースとして使用しています。jQueryまたはPHPを使用して3分ごとにデータを非同期で保存する方法

+2

誰も完璧を期待していませんが、適切な大文字と小文字を使用してください。 – Corbin

答えて

4
window.setInterval(function() { 
    $.ajax({...}); 
}, 180000); 

しかし、私はより頻繁に、必要なだけ保存したアプローチ、そしてこの場合に使用すると思います。次の例では、Underscore.jsの関数を使用しています。

$('textarea').on('keyup', _.throttle(_.debounce(function() { 
    $.ajax(...); 
}, 2000), 60000)); 

これは、ユーザーが2分以上入力をやめた直後にデータを保存しますが、1分ごとに1回を超えません。ここには、10秒ごとの変更後に2秒ごとに保存する小さな例があります。http://jsfiddle.net/ThiefMaster/AagFC/

+0

Sir window.setIntervalとself.setIntervalの違いは – sohaan

+0

'self'は存在しません。あるオブジェクトに 'this'がマッピングされていない関数で' var self = this; 'を使うと、' self === this === window'のようになります。 – ThiefMaster

+0

ありがとうsirそれは魅力のように動作します – sohaan

関連する問題