Javascript 函数中的计时器刷新页
在我的函数中,我在最后有一个页面刷新来实际更新表,但是刷新速度比数据库快 有人知道我该如何改变这个吗Javascript 函数中的计时器刷新页,javascript,php,Javascript,Php,在我的函数中,我在最后有一个页面刷新来实际更新表,但是刷新速度比数据库快 有人知道我该如何改变这个吗 echo '<script> '; echo 'function updateId(id) { '; echo 'var
echo '<script> ';
echo 'function updateId(id) { ';
echo 'var xmlhttp = new XMLHttpRequest(); ';
echo ' xmlhttp.onreadystatechange = function() { ';
echo ' if (xmlhttp.readyState == 4 && xmlhttp.status == 200) ';
echo ' { ';
//echo ' alert(xmlhttp.responseText); ';
echo ' } ';
echo ' }; ';
echo ' xmlhttp.open("GET", "update.php?id=" +id, true); ';
echo ' xmlhttp.send(); ';
echo 'location.reload(true); ';
echo '} ';
echo '</script> ';
?>
echo';
echo'函数updateId(id){';
echo'var xmlhttp=new XMLHttpRequest();';
echo'xmlhttp.onreadystatechange=function(){';
echo“如果(xmlhttp.readyState==4&&xmlhttp.status==200)”;
回声{};
//echo“警报(xmlhttp.responseText);”;
回声'}';
回声'};';
echo'xmlhttp.open(“GET”,“update.php?id=“+id,true”);
回显“xmlhttp.send();”;
回显“location.reload(true);”;
回声'}';
回声';
?>
这通常发生在DOM尚未加载且其他任务完成工作之前(在页面刷新的情况下)。要在没有任何框架的情况下解决此问题,您可以addEventListener
echo '<script>';
echo 'document.addEventListener('DOMContentLoaded',function updateId(id) {';
echo 'var xmlhttp = new XMLHttpRequest();';
echo ' xmlhttp.onreadystatechange = function() {';
echo ' if (xmlhttp.readyState == 4 && xmlhttp.status == 200)';
echo ' {';
//echo ' alert(xmlhttp.responseText);';
echo ' }';
echo ' };';
echo ' xmlhttp.open("GET", "update.php?id=" +id, true);';
echo ' xmlhttp.send();';
echo 'location.reload(true);';
echo '}';
echo '});';
echo '</script>
echo';
echo'document.addEventListener('DOMContentLoaded',函数updateId(id){';
echo'var xmlhttp=new XMLHttpRequest();';
echo'xmlhttp.onreadystatechange=function(){';
echo“如果(xmlhttp.readyState==4&&xmlhttp.status==200)”;
回声{};
//echo“警报(xmlhttp.responseText);”;
回声'}';
回声'};';
echo'xmlhttp.open(“GET”,“update.php?id=“+id,true”);
回显“xmlhttp.send();”;
回显“location.reload(true);”;
回声'}';
回声'});';
回声'
当初始HTML文档已完全加载和解析,而不等待样式表、图像和子帧完成加载时,
DOMContentLoaded
事件将触发。将location.reload放在readystate检查中,您也不需要回显每一行Thank@Lawrence!这对我很有用;-)