Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 函数中的计时器刷新页_Javascript_Php - Fatal编程技术网

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!这对我很有用;-)