【问题标题】:Refresh a div which contains a PHP code, without refresing the page刷新包含 PHP 代码的 div,而不刷新页面
【发布时间】:2014-02-06 03:15:15
【问题描述】:

我有一个 php 代码,它在一个 div 中。它显示放置在 random.txt 文件中的随机文本。我想刷新这个 div,在不刷新 whoe 页面的情况下每隔 15 秒加载新文本。 我找到了几种在不刷新页面的情况下重新加载 div 的解决方案,似乎可以使用 AJAX 或 JS 完成,但它们只能使用特定内容或特定文件刷新它,但是我不知道如何插入这个代码并刷新它。

这是我的 div 的样子:

<div id="randomtext"> 
<?php
include_once("GetRandomText.php");
$MPTextFile = "random.txt";
$MPSepString = "*divider*";
$MPTextToHTML = false;
MPPrintRandomText($MPTextFile, $MPSepString, $MPTextToHTML);
?>
</div>

它会在每次刷新时将随机文本加载到 div。

我尝试使用下面的 JS 刷新 div,但它根本不起作用。对不起,我不擅长。

<script>
var auto_refresh = setInterval(
function () {
var newcontent= '<?php
include_once("GetRandomText.php");
$MPTextFile = "random.txt";
$MPSepString = "*divider*";
$MPTextToHTML = false;
MPPrintRandomText($MPTextFile, $MPSepString, $MPTextToHTML);
?>';
$('#randomtext').html(newcontent);
}, 1000);
</script>

<div id="randomtext"></div>

提前致谢。

【问题讨论】:

    标签: javascript php html refresh


    【解决方案1】:

    PHP 脚本和 Javascript 在不同的环境中执行。 (分别是您的服务器和用户的浏览器。)

    您需要做的是将嵌入的 PHP 脚本移动到一个单独的 PHP 文件中。并使用这样的东西:

    content.php

    <?php
    include_once("GetRandomText.php");
    $MPTextFile = "random.txt";
    $MPSepString = "*divider*";
    $MPTextToHTML = false;
    MPPrintRandomText($MPTextFile, $MPSepString, $MPTextToHTML);
    ?>
    

    在您的 html 页面内

    <script>
    var auto_refresh = setInterval(
    (function () {
        $("#randomtext").load("path/to/content.php"); //Load the content into the div
    }), 1000);
    </script>
    <div id="randomtext"></div>
    

    jQuery Load 函数的文档:http://api.jquery.com/load/

    【讨论】:

      【解决方案2】:

      据我了解,您试图在浏览器中执行 PHP,这是不可能的。您的服务器解析 PHP 并用随机字符串替换该代码。

      您需要向服务器发出 AJAX 请求,该请求会评估此脚本并将其发送回客户端。简而言之:

      request = new XMLHttpRequest();
      request.open("GET", "my.php");
      request.send();
      $("#randomtext").html(request.response);
      

      【讨论】:

      • 如果我将我的 PHP 代码放入 PHP 文件并从 javascript 调用它会怎样?可以吗?
      • 我为它添加了一个示例调用,是的
      • 是的,这是可能的,从 jquery 调用 php 页面要容易得多,而无需刷新整个页面。
      • @henje 感谢分离 php 的想法,现在它就像一个魅力:)
      猜你喜欢
      • 2011-12-22
      • 1970-01-01
      • 1970-01-01
      • 2013-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-18
      • 1970-01-01
      相关资源
      最近更新 更多