1

いくつかのグラフなどを表示しているメインファイルがあります-これは正常に機能します。

今、私はいくつかの温度をよりタイムリーに表示するというアイデアを思いつきました-のように-それを2-10秒ごとに更新します。

センサー情報を分解してフォーマットする小さなphpスクリプトを追加しました。これは、それ自体で正常に機能します。

$sensor1 = file_get_contents('sensor1');
$sensorinfo1 = explode ("t=", $sensor1);

$sensor2 = file_get_contents('sensor2');
$sensorinfo2 = explode ("t=", $sensor2);

printf("Aktuelle Temperaturen:  Sensor1: %s  Sensor2: %s", $sensorinfo1[1] / 1000,$sensorinfo2[1] / 1000);

Javascript、Ajax、jQueryについての私の知識はかなり...まあ。それについては話さないようにしましょう。私はすでにしばらく探し回った後、その部分について次のことを思いついた(それは機能せず、理由はわかりません):

setInterval(function () {
    $('#curtemp').load('grabsensorinfo.php', function () {
        }, 5000);
});

およびdiv要素:

<div class="curtemp">
</div>

だから私が欲しいのは、div要素がX秒ごとに更新されることです..誰かが私がどこで間違っているのか考えましたか?

これは私が今得たものです-まだ動作していません:

var tempUpdate=function() {
    $('#curtemp').load('grabsensorinfo.php')
    };   
setInterval(tempUpdate,5000);
4

1 に答える 1

1

()このように、なしで関数を呼び出す必要があります。

var callme=function () {
      $('#curtemp').load('grabsensorinfo.php');
    };

編集:呼び出すときに空の関数を渡す必要はありませんload()。ページアドレスをURLとして呼び出すだけです。FirefoxコンソールのChrome内で試して、正しく機能することを確認してください

次に(提案どおりにページを読み込んだ後):

$(function(){setInterval(callme,5000);});

それ以外の場合、JavaScriptは最初に関数を1回呼び出してから、戻り値を呼び出します

奇妙に思えますが、「この関数を5000ミリ秒ごとに呼び出す」ではなく、「この関数の戻り値を5000ミリ秒ごとに呼び出してください」と言っているとします。

于 2013-03-18T16:13:49.147 に答える