2016-09-22 11 views
4

私は私のWebページ上のブートストラップのプログレスバーPHPスクリプトのデータでブートストラップの進行状況バーを動的に更新するにはどうすればよいですか?

<div class="progress"> 
    <div class="progress-bar" role="progressbar" aria-valuenow="70" 
    aria-valuemin="0" aria-valuemax="100" style="width:70%"> 
70% 
    </div> 
</div>  

私のPHPスクリプトがある -

<?php 
function get_memory() { 
    foreach(file('/proc/meminfo') as $ri) 
     $m[strtok($ri, ':')] = strtok(''); 
    return 100 - round(($m['MemFree'] + $m['Buffers'] + $m['Cached'])/$m['MemTotal'] * 100); 
} 
echo "".get_memory().""; 
?> 

PHPの関数が呼び出されると、数値が更新され、呼び出されます。

基本的に、私が何をしたいのか、スタイル=「幅:70%」の

<?php echo "".get_memory()."";?> 

あるプログレスバーのため、プログレスバーを動的に更新してしまう、PHPから報告された値を使用して関数。

私はそれが理にかなっていると思います。

私はこれが私に与え

<script> 
    setInterval(function(){ 
     jQuery.ajax({ 
      url: "ramUsage.php", 
      success: function(result) { 
       $('.progress-bar').css("width", data + '%'); 
      }, 
     }); 
    }, 1000); 
</script> 

を試してみました

ReferenceError: data is not defined 

ではなくAJAXのWebSocketをを使用する方が良いと思いませんか?もしそうなら、どうすればいいのですか?

+3

'' result'とdata'を交換してください。またはその逆。 – Teddy

+0

@Teddyありがとう! – Ross231

答えて

0

の代わりに、

$('.progress-bar').css("width", data + '%'); 

あなたが使用している必要があり、

$('.progress-bar').css("width", result + '%'); 

または

$('.progress-bar').css("width", result.responseText + '%');