【问题标题】:How to refresh only the textarea part without refreshing the whole page [duplicate]如何仅刷新文本区域部分而不刷新整个页面[重复]
【发布时间】:2015-01-09 02:52:58
【问题描述】:

我有一个脚本:

<?php
header("refresh: 7;");
include 'theme.php';
ceklogin();
css();
exec('/www/openvpn_wget_status.sh');
echo '<br>';
echo file_get_contents( "/www/openvpn_status.txt" );
echo '<textarea readonly> Content Here </textarea></div></body></html>';
>?

它每 7 秒刷新一次整个页面,有没有办法只刷新 textarea 而不是整个页面?我是一个复制粘贴的人,所以请详细说明是否有办法做到这一点。

【问题讨论】:

  • 简答:使用 Javascript 和 AJAX。
  • 这根本没有帮助

标签: php


【解决方案1】:

您可以使用 Javascript 并获取文本文件的内容,如果它可以公开访问(假设 /www 是您的 webroot):

<script>
    function getFileContents() {
        var client = new XMLHttpRequest();
        client.open('GET', '/openvpn_status.txt');
        client.onreadystatechange = function() {
            document.querySelector("textarea").value = client.responseText;
        }
        client.send();
    }
    setInterval(getFileContents, 7000);
</script>

此代码首先创建一个名为 getFileContents() 的函数,该函数从字面上转到您的 Web 根目录中名为 openvpn_status.txt 的文件,并将内容加载到与 textarea 节点类型匹配的第一个元素中。

然后将调用此函数的时间间隔设置为 7000 毫秒,即 7 秒。

【讨论】:

    猜你喜欢
    • 2014-03-23
    • 1970-01-01
    • 2013-01-28
    • 2017-08-31
    • 2013-08-22
    • 1970-01-01
    • 2019-10-14
    • 1970-01-01
    • 2014-06-24
    相关资源
    最近更新 更多