0

ボタンを押してからページをリロードした後にphpスクリプトを開始しようとしていますが、問題があります。これを実行します。

<a href="#" class="btn green big" onclick="startUpdate();">Start Update</a>

次に、これはスクリプトです。

<script type="text/javascript">
    function startUpdate() {
        $.get("Update/startUpdateTxt.php");
        return false;
    }
</script>

これらのスクリプトはtxtファイルに書き込みますが、すべて完璧に機能しますが、要素を変更してtxtファイルで行った変更を読み取る必要があるため、ページを更新したいので、これを実行しようとしました。

 <script type="text/javascript">
    function startUpdate() {
        $.get("Update/startUpdateTxt.php");

        return window.location.href=window.location.href;
    }
</script>

このようにして、ページは更新されますが、phpscriptは機能しなくなり、ファイルに何も書き込まれません。これはphpscriptです。

startUpdateTxt.php:

<?php
$myFile = "updateStatus.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = "StartUpdate\n";
fwrite($fh, $stringData);
fclose($fh);
?>

ページを更新してバックグラウンドでphpscriptを呼び出すにはどうすればよいですか?

4

1 に答える 1

5

ajax 呼び出しが終了することを確認する必要があります。これを行うには、コールバック関数にリダイレクトを配置できます。

function startUpdate() {
    $.get("Update/startUpdateTxt.php", function() {
      location.reload();
    });
}

ただし、(私にとっては...) ajax を使用して php スクリプトを呼び出してからリダイレクトするのはあまり意味がありません。php スクリプトに投稿して、そこからすべてを処理する方が簡単です。

于 2013-03-19T22:12:26.680 に答える