我正在尝试创建一个不会破坏浏览器的循环。该循环应每10秒从SQL数据库获取一次信息。所以我在JavaScript中尝试过:
while(true) {
setTimeout(doRequest(), 10000);
}
但是它只是冻结浏览器,因为它在页面准备好之前就启动了。我尝试了window.onload
,document.onload
和$(document).ready()
,但没有任何效果。始终存在错误:document.onload is not a function
。
然后我读到有关Web Worker的信息,但这也不起作用。所以我决定改用PHP:
JavaScript:
function test () {
$.post(
"../../modules/communicator.php",
{
action: "test"
},
function(result) {
console.log(window.location.href);
}
);
}
communicator.php:
if ($_POST['action'] == 'test') {
echo("test");
sleep(5);
echo("hello");
}
但是它在5秒钟后返回testhello
。
是否可以返回字符串,等待5秒钟,然后返回下一个字符串?
答案 0 :(得分:1)
谢谢大家!我修好了它!
setInterval(doRequest, 10000);