仅从同一页面刷新div,无外部源

时间:2017-02-20 01:39:29

标签: jquery refresh

我试图用jquery刷新div标签,但它不起作用.. 我需要刷新div,以便执行php代码并更新文本..

首先我加载jquery然后包含我需要执行的函数的文件,然后刷新脚本,全部在标题上:

  <script src="jquery-3.1.1.min.js"></script>

  <?php
     require "codes.php";
  ?>

  <script type="text/javascript">
      setInterval(function(){
         $('#ip').load('#ip');
      }, 1000);
  </script>

最后我要刷新的div:

<div id="ip" class="navbar-header">
     <p style="text-align: center; color:white;">
         Your IP address is 
         <span style="color:red;">
            <?php
                echo getip();
            ?>
         </span>
     </p>

1 个答案:

答案 0 :(得分:1)

问题是你的php echo会在打开页面时运行一次。作为PHP的名称(超文本预处理器... bla bla bla 忘记了 ...所以你的PHP代码最终会变成只是静态的html内容你的页面。您的js setInterval()和jQuery .load()实际上正在运行,但$('#ip')内容仍然相同。

为了能够动态获取数据,您(必须)需要一个外部php文件,它将一次又一次地处理echo getip();的请求。

所以这样:

<强> loadip.php

echo getip();

<强> JS

$(document).ready(function() {
    setInterval(loadip,1000);
});

function loadip() {
    $("#ip").load("loadip.php");
}

或......

$(document).ready(function() {
    setInterval(function() {
        $("#ip").load("loadip.php");
    },1000);
});

希望这有帮助。祝你好运!