<分区>
我想在每 10 秒后调用一个 php 函数,为此我正在使用 javascript setInterval。任何人都可以在语法方面提供帮助。
标签 javascript php
<分区>
我想在每 10 秒后调用一个 php 函数,为此我正在使用 javascript setInterval。任何人都可以在语法方面提供帮助。
最佳答案
使用 setInterval 调用服务器进程绝不是一个好主意。服务器在收到下一次调用时和返回内容之前可能尚未完成工作。
因为我们有 Ajax,我们可以使用回调来重新发出调用。
例如在 jQuery 中 - XMLHttpRequest 的就绪状态更改中的技术是相同的
function callServer() {
$.get("myserverprocess.php",function(data) {
$("#somecontainer").html(data);
setTimeout(callServer,10000);
});
}
注意:以上如果失败则不会重试。如果你需要它再试一次,使用这个
function callServer() {
$.ajax({
url: "myserverprocess.php",
type: 'get'
})
.done(function(data) {
$("#somecontainer").html(data);
})
.always(function() {
setTimeout(callServer,10000);
})
.fail(function() {
$("#somecontainer").html("Error");
});
}
在纯 JS 中:
function callServer() {
var x = new XMLHttpRequest();
x.open("GET", "myserverprocess.php", true);
x.onreadystatechange = function() {
if (x.readyState==4 && x.status==200) { // remove status test to keep calling
document.getElementById("someontainer").innerHTML=x.responseText
setTimeout(callServer,10000);
}
x.send();
}
关于javascript - 如何在 javascript 中从 setInterval() 调用 php 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30635842/