こんにちは、ユーザーがテキスト領域に情報を入力でき、保存や紛失を心配する必要がない単純なアプリケーションを作成しています。jquery/javascript を使用してテキスト領域の変更を検出し、ajax を使用して値を php に送信してサーバーに書き込みます。ajaxの重複を防ぐために、基本的な「ビジー」ロックがいくつかあります。しかし、私はそれが少し信頼できないことに気づきました。これを行うより良い方法はありますか?
var busy = false;
function save () {
if(busy === false) {
busy = true;
var content = $('#text').val();
var file = 'store.txt';
$.get("storecontent.php", { content_fromjq: content, file_fromjq: file})
.done(function(data) {
busy = false;
});
}
}
$('#text').bind('input propertychange', function() {
save();
});
PHP:
if (isset($_GET['content_fromjq'])) {
$content = $_GET['content_fromjq'];
$file = $_GET['file_fromjq'];
$html = new DOMDocument();
$html->loadHTMLFile($file);
$html->getElementById('content')->nodeValue = $content;
$html->saveHTMLFile($file);
}