继续更新值。 (ajax - 来自.php文件的民意调查)

时间:2014-05-15 18:37:59

标签: javascript php html ajax

我正在尝试修改此http://www.w3schools.com/php/php_ajax_database.asp

我只是使用那个^的HTML部分。我的php文件只有

<?php
echo rand();
?>

它工作正常!每次我在下拉列表中切换内容时它都会更新。 但是,我希望它每秒运行一次,但它不起作用。这就是我的HTML的样子:

<html>
<head>
<script>
function showUser() {
  if (window.XMLHttpRequest) {
    // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
  } else { // code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4 && xmlhttp.status==200) {
      document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
  xmlhttp.open("GET","ajax/test.php?q="+str,true);
  xmlhttp.send();
}
setInterval(showUser, 1000);
</script>
</head>
<body>

<div id="txtHint"><b>this will be updated</b></div>

</body>
</html>

SetInterval不会运行它。 php文件仍然只有echo rand();. 它在某些方面起作用,但我相信我搞砸了一些东西。提前谢谢。

3 个答案:

答案 0 :(得分:3)

setInterval()可能正常运行,但showUser()以错误结束,因为str未定义。检查您的JavaScript控制台是否有错误。

删除对str的引用,或在某处定义它。

答案 1 :(得分:0)

试试这个:

 setInterval(function(){showUser()}, 1000);

答案 2 :(得分:0)

替换

setInterval(showUser, 1000);

window.onload = function() {
    setInterval(showUser, 1000);
}