ボタンがクリックされると、テキストエリアのデータを取得し、PHPにデータをPOSTします。
PHPでは、サーバ上のテキストファイルを書き換えます。
その後、書き換えられたテキストファイルをダウンロードします。
jquery
1$.ajax({ 2 type: 'POST', 3 url: 'b.php', 4 data: {name:value}, 5 }).done(function(){ 6 console.log("ok"); 7 //ここでダウンロードします。 8 }).fail(function(){ 9 console.log("ng"); 10 });
php
1$name = $_POST['name']; 2if (isset($_POST['name'])) { 3$name = filter_input(INPUT_POST, 'name'); 4$filepath = "c.text"; 5if (($fp = fopen($filepath, 'w')) !== false) { 6flock($fp, LOCK_EX); 7fwrite($fp,$name); 8flock($fp, LOCK_UN); 9fclose($fp); 10} 11}
ここで質問なのですが、このdoneで実行される処理はPostに成功したタイミングで実行されると解釈していますがあってますでしょうか?
もしその場合、PHPがテキストを書き換えるより先に、テキストファイルをダウンロードすることになってしまうようなことが起きる気がします。
そこで、Jqueryで3秒後にダウンロード処理を行うと設定しようと思ったのですが、今度は、その3秒の間にさらに別のユーザーがファイルを書き換えてしまったらどうなるのかと不安です。
何かアドバイスいただけるとありがたいです。
回答1件
あなたの回答
tips
プレビュー