我试图用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>
答案 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);
});
希望这有帮助。祝你好运!