我有这段代码,目的是获取文件的内容并将其放在div中。
<script type="text/javascript">
setInterval("loadXMLDoc()",2000);
function loadXMLDoc(){
var xmlhttp;
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function(){
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
xmlhttp.open("GET","ajax_doc.txt",true);
xmlhttp.send();
}
</script>
但在Chrome,Opera和Safari中,div中的文字每2秒闪烁一次。在Firefox中,这不会发生。我该怎么做才能避免眨眼?代码在使用Appache的本地计算机上运行。感谢
答案 0 :(得分:1)
您应该尝试在onreadystatechange处理程序中添加if语句,以检查请求是否已完成,因为它可能存在其他就绪状态。您还应该检查状态是否正常(200)而不是找不到页面(404)
if (xmlhttp.readyState==4 && xmlhttp.status==200)
setInterval函数继续以指定的间隔调用函数,直到调用clearInterval方法。 setTimeout函数只调用一次函数,这将停止刷新页面。