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>

所以我想要的是每 X 秒更新一次 div 元素。有人知道我哪里出错了吗?

这就是我现在要做的 - 仍然无法工作:

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 将在开始时调用该函数一次,然后调用返回值

看起来很奇怪,假设现在您说的是“请每 5000 毫秒调用一次此函数的返回值”,而不是“每 5000 毫秒调用一次此函数”。

于 2013-03-18T16:13:49.147 回答