【发布时间】:2020-09-29 02:03:59
【问题描述】:
我需要在下面的index.php 页面上每隔几秒刷新一次 div。
<?php
session_start();
if (! check_write()) {
redirect('testlogin.php');
return;
}
if (file_exists('lmt.json')) {
$lmt = json_decode(file_get_contents("lmt.json"), true);
}
?>
<!doctype html>
<html lang="en">
<head>
<title>Home</title>
</head>
<body>
<div>
<h1>Website Title</h1> <a href="logout.php">Logout</a> </div>
<div>
<p>Welcome back,
<?= $_SESSION['user_id'] ?>!</p>
</div>
<!-- How can I refresh below div every x seconds? -->
<div>
<?php if (isset($lmt)) { ?>
<p>Last modified by <?= $lmt['fname']; ?> at <?= $lmt['ts']; ?></p>
<?php } ?>
</div>
<form method="post">
<input type="text" name="field1" />
<input type="text" name="field2" />
<input type="submit" name="submit" value="Save Data"> </form>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script>
$(function() {
$('form').submit(function(e) {
e.preventDefault();
$.post({
url: 'save.php',
data: $(this).serialize(),
}).done(response => {
response = JSON.parse(response);
if(response.message) {
alert(response.message);
}
});
});
});
</script>
</body>
</html>
下面是我想每 X 秒刷新一次的 div。到目前为止,它只是从$lmt 变量中获取值并将其显示给用户,但我想通过从lmt.json 文件中读取每X 秒刷新一次该div,然后显示fname 和ts 变量。
<!-- How can I refresh below div every x seconds? -->
<div>
<?php if (isset($lmt)) { ?>
<p>Last modified by <?= $lmt['fname']; ?> at <?= $lmt['ts']; ?></p>
<?php } ?>
</div>
我怎样才能有效地做到这一点?
【问题讨论】:
-
这能回答你的问题吗? AJAX jQuery refresh div every 5 seconds
-
我认为您正在寻找 JavaScript 的 setInterval
-
我看到了链接,但我的困惑是 OP 在他的 div 中每 5 秒调用一次
test.php。在我的情况下,我想在 div 中每 X 秒读取一次文件,这就是我感到困惑的地方。我注意到一个答案,我们正在这样做$('#links').load('test.php',function () {。这就是我看到test.php感到困惑的地方,因为在我的情况下,我需要每 X 秒读取一次文件。
标签: javascript php html jquery ajax