2017-11-30 8 views
0

私はうまく機能するAPIを持っていますが、私はライブ(APIから定期的にデータを取得し、HTMLコードで表示する)をしたいと思います。PHPによるライブデータ更新

私はどこから始めるのかというヒントが必要です。 Javascript、Ajax?

何か手がかりをいただければ幸いです。

私のPHP/HTML:2%または何を出力

<h4>Cpu Load</h4> 
<span class="text-muted"><?php 
    echo "" . $first['cpu-load'] . " %" . ""; 
?></span> 

。リフレッシュ時に、ページは新しい値を更新します。

私のPHPのAPI:

APIごとに一定の時間を照会するために使用するsetInterval機能
<?php 
require('includes/routeros_api.class.php'); 
    $API = new RouterosAPI(); 
    $API->debug = false; 
    if ($API->connect('MYIP', 'USER', 'PASS')) { 
     $ARRAY = $API->comm("/system/resource/print"); 
     $first = $ARRAY['0']; 
    $API->disconnect(); 
} 
?> 
+0

あなたはx秒ごとに実行するのsetInterval機能をJavaScriptのタイマーを使用することができます。その中にajax呼び出しを実装するようにしてください。 – TBridges

+0

APIでjsonを返すのは良いことです。そしてそれを生かすために、あなたはAPIを 'Ajax'でAPIから定期的に取得してDOMを更新します。 また、ヘッダを使ってページをリフレッシュするという悪い方法もあります: 'header(" Refresh:2 ")'。 – Yahya

答えて

0

https://www.w3schools.com/jsref/met_win_setinterval.asp

私のための便利な方法は後に、データの結合を介してVUEとVueのリソースを使用していますAPIを照会してデータを変更すると、そのページはページ全体をリフレッシュせずに再レンダリングされます。

+1

簡単に user2720970

+0

@ user2720970はい、これは最も簡単な解決策です – FloatFlower

1

単純なことを保つために、ajax呼び出しを持つ関数を作成することができます。 .ajax jqueryの使用法を調べる必要がありますが、これによりアイデアが得られます。あなたのページのどこかに

function ajaxQuery(){ 
    // some stuff inside here to perform call 
    $.ajax({ 
     url: 'your-file.php', 
     dataType: 'what ever data type you expect from server...', 
     success: function(data) { 
      // this is where i would normal have an id setup to update 
      // a specific textbox or form field... 
     } 

    }); 


} 

あなたはその後、(javascriptのタイマー機能のsetIntervalを使用する必要があります):

setInterval(ajaxQuery(), 2000); 
関連する問題