2017-07-27 3 views
0

私のPHPページの下に次のスクリプトがありますが、pageloadで実行されますが、10秒ごとに実行する必要があります。ページの読み込み時にのみ実行されます。ウェブページ上のJavascriptがテキストを変更しない

PHPが実行されています。 私は10からのカウントダウンでこれをテストしましたが、スクリプトは実際にはループしていますが、何らかの理由でこのPHPを統合していません。

助けてください。

<script> 
    var CurrentBranch = "<?php echo file_get_contents('gitstatus.txt'); ?>"; 

    var x = setInterval(function() { 
     CurrentBranch = "<?php echo file_get_contents('gitstatus.txt'); ?>"; 

     document.getElementById("CurrentTestBranch").innerHTML = CurrentBranch; 

     CurrentBranch = ""; 
    }, 10000); 
</script> 

編集: コードは、周りのファイルの内容を最初に表示されません。しかし、私が変更を加えて保存すると、リフレッシュされません。

+0

あなたが.PHPファイルを使用していますか? –

答えて

2

Your PHP code is run only when the page loads。実行時に文字列リテラルを生成します。インターバル関数が繰り返し呼び出されると、これらは更新されません(PHPが再度実行されないため)。

PHPから新しいデータを取得する場合は、新しいHTTPリクエストを作成する必要があります。

ページ全体をリロードするか、XMLHttpRequest(またはfetch)を使用して、必要なデータを提供するWebサービスを呼び出すことができます(Ajaxは便利な検索用語です)。

-1

PHPがHTMLがサーバーにヒットする前に発生します。

setTimeout()javascriptコマンドを参照してください。あなたがする必要があるのは、javascriptがあなたの価値をチェックしエコーする別のPHPスクリプトを呼び出すことです。このような

何か(メモリからの擬似コード、することができる):

setTimeout(function(){ 
    var CurrentBranch = $.get('/url/that/sends/value'); 
    // do something with your value, call a function, whatever 
}, 10000); 
関連する問題