javascript - 每 2 秒重复一次 PHP 函数

标签 javascript php ajax xmlhttprequest

所以我有一个代码,其中从文本文件中检索一个数字并通过 HTML 显示。

问题是它只在我刷新页面时检索数字。如果我更改其他页面上的数字,它不会在其他页面上更改。

之前看到过类似的问题,大部分都说要用AJAX,但是我对AJAX不是很了解,只需要这段代码,不会一直用下去.我想知道除了AJAX还有没有其他的,如果只有AJAX,请给出代码示例。

PHP代码:

<?php
    $file = "num.txt"; //Path to your *.txt file
    $contents = file($file);
    $num = implode($contents);
?>

JavaScript 代码。基本上它获取 PHP 值并输出到 html。

document.getElementById("num").innerHTML = '<?php echo $num; ?>';

请记住,我不想刷新页面。只是变量。


编辑: PHP 代码 - 出现错误 - 注意:未定义索引:第 3 行 C:\xampp\htdocs\num.php 中的 keynum

这是PHP的代码

<?php
    $keynum = $_POST['keynum'];
    $post = "INSERT INTO post (keynum) VALUES ($keynum)";
    $fileLocation = getenv("DOCUMENT_ROOT") . "/num.txt";
    $file = fopen($fileLocation,"w");
    $content = $keynum;
    fwrite($file,$content);
    fclose($file);
    echo 'Response';
    die();
 ?>

最佳答案

您可以使用 XMLHttpRequest 实现您想要的效果,像这样:

function updateData() {
  var xhttp = new XMLHttpRequest();
  
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      document.getElementById('num').innerHTML = this.responseText;
    }
  };      
  
  xhttp.open('GET', '/num.php', true);
  xhttp.send();
}

setInterval(updateData, 2000);

关于javascript - 每 2 秒重复一次 PHP 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51064202/

相关文章:

javascript - Node.js Express 没有响应

php - MySQL:您可以根据第三个表中的字段值来选择要选择的表吗?

php - 获取子帖子 ID 的数组,wordpress 3.0,php

php - 设置 PHP 5.2 服务器

Django 应用程序中的 Ajax 架构

javascript - History.js 和同源策略遍历 SSL

javascript - 每次ajax成功函数循环在codeigniter中完成时尝试将数据添加到新的div

javascript - jquery 文档级 onmousedown 在元素的单击处理程序之前被调用

JavaScript 在 iPad 上的 Safari 中不起作用

javascript - 如何在 JavaScript 中获取 "?"之前的最后一位 url?