我正在寻找一个脚本,它可以自动更新页面,但不会重新加载它。我有一个例子,这些div是自动重新加载的:http://prntscr.com/603k2n
当然,这不是我的页面,这里是链接:http://suna.e-sim.org/battle.html?id=13317(您需要注册)。
我尝试使用jQuery,但它不会重新加载PHP,只是HTML。我需要重新加载MySQL和PHP - 甚至可能吗?我看到这家伙成功了。
要在不重新加载的情况下刷新页面,您必须通过 ajax 加载页面的内容。您可以按如下方式执行此操作:
索引.php
<html>
<head>
<script type="text/javascript">
$(document).on('ready', function(){
setInterval(function() {
$.ajax({
type: "GET",
url: "ajax_refresh.php",
success: function(result) {
$('body').html($result);
}
});
}, 3000);
});
</script>
</head>
<body>
<div class="header">
Header of website here
</div>
<div class="content">
Content here
</div>
<div class="footer">
Footer here
</div>
</body>
</html>
ajax_refresh.php
<div class="header">
Header of website here
</div>
<div class="content">
Content here
</div>
<div class="footer">
Footer here
</div>
在上面的示例中,"url"参数应该是一个PHP文件,它只返回要刷新的页面的正文。为了使此示例正常工作,您应该包含 jQuery。
祝你好运
编辑
再解释一下。您将需要第二个看起来与您的索引文件完全相同的文件。除了在第二个文件中,您没有html,头部或身体标签。第二个文件的内容将加载到第一个文件中,而无需刷新。这就是 AJAX 的概念。
进一步阅读:- AJAX简介 - W3学校
实际上你可以用jQuery解决这个问题。我建议使用 setInterval。如何使用它的示例:
$(document).on('ready', function(){
setInterval(function() {
// Code that will update your page
}, 3000);
});
请记住,3000 是刷新发生之前的毫秒数。所以这将每三秒调用一次