使用Ajax更新页面上的数据,该数据使用PHP从文本文件中读取

时间:2017-06-23 17:30:04

标签: javascript php ajax

我想使用Ajax更新我网页上的数据。使用PHP脚本读取此数据 我希望这个function每5秒执行一次。出于某种原因,这根本不会发生。

我的JavaScript:

<script>
 function refresh(){
   var xmlhttp = new XMLHttpRequest();
   xmlhttp.onreadystatechange = function() {
   if (this.readyState == 4 && this.status == 200) {
     document.getElementClassName("scroll").innerHTML = this.responseText;
   }
 };
 xmlhttp.open("GET", "gm.php?q=" + "<?php echo $mf[0]."-".$mf[1].".txt" ?>", true);
// The PHP variables refer to a specific file
 xmlhttp.send();
 }
 setInterval(refresh,5000);
</script>

我的gm.php文件:

 <?php
  $q = $_REQUEST["q"];
  $mr=fopen($q, "a+");
  $line = fgets($mr);
  while (!feof($mr)) {
    $line = $line.fgets($mr);
  } # while ends
  fclose($mr);
  echo $line. "<br />";
?>

1 个答案:

答案 0 :(得分:0)

我发现我的元素选择器错误,因为我使用的是get ElementClassName而不是getElementsByClassName。另外,我没有在类中给出元素索引,因为无法选择元素。

另一个原因是我在JavaScript字符串中使用了包含PHP脚本的引号。

我的JavaScript:

<script>
 function refresh(){
   var xmlhttp = new XMLHttpRequest();
   xmlhttp.onreadystatechange = function() {
   if (this.readyState == 4 && this.status == 200) {
     document.getElementsByClassName("scroll")[1].innerHTML = this.responseText;
   }
 };
 xmlhttp.open("GET", "gm.php?q=" + '<?php echo $mf[0]."-".$mf[1].".txt" ?>',  true);
// The PHP variables refer to a specific file
 xmlhttp.send();
 }
 setInterval(refresh,5000);
</script>

我的gm.php文件:

 <?php
  $q = $_REQUEST["q"];
  $mr=fopen($q, "a+");
  $line = fgets($mr);
  while (!feof($mr)) {
    $line = $line.fgets($mr);
  } # while ends
  fclose($mr);
  echo $line. "<br />";
?>