我有我的主文件显示一些图形等-这工作得很好。
现在我想到了以更及时的方式显示一些温度-例如每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);
您必须在没有()
的情况下调用函数,如下所示:
var callme=function () {
$('#curtemp').load('grabsensorinfo.php');
};
编辑:当调用load()
时,您不需要传递空函数,只需将页面地址作为URL调用它。在Firefox控制台的Chrome中尝试检查它是否正常工作
然后(按照建议加载页面后):
$(function(){setInterval(callme,5000);});
否则,JavaScript将在开头调用该函数一次,然后调用返回值。
看起来很奇怪,假设你现在说的是"请每5000毫秒调用这个函数的返回值",而不是"每5000毫秒调用这个函数"。