gpt4 book ai didi

javascript - 使用 jquery 刷新 php 并重新加载图像

转载 作者:搜寻专家 更新时间:2023-10-31 20:37:42 25 4
gpt4 key购买 nike

我有这个 php 页面 /var/www/oggi1ora.php

首先我需要执行页面/usr/local/bin/oggi1ora.php来生成图表。

PHP 脚本每 5 秒正确执行一次,但页面中的图像不刷新...我该如何解决这个问题?

我需要每 5 秒执行一次 /usr/local/bin/oggi1ora.php。脚本生成存储在 /var/www/grafici/oggi1ora.png 中的图像。

<div class="result">
<?php exec('php -q /usr/local/bin/oggi1ora.php'); ?>
</div>

<div class="oggi1ora">
<html>
<body>
<img src="grafici/oggi1ora.png" id="oggi1ora" border="0" />
</body>
</html>
</div>

<script type="text/javascript" src="jquery-1.11.2.min.js"></script>
<script>
function refresh_div() {
jQuery.ajax({
url:'oggi1ora.php',
type:'POST',
success:function(results) {
jQuery(".result").html(results);
}
});
}
t = setInterval(refresh_div,5000);
</script>

这是新的 /var/www/oggi1ora.php

<div class="result">
<?php
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
include('/usr/local/bin/oggi1ora.php');
?>
</div>

<div class="oggi1ora">
<html>
<img src="grafici/oggi1ora.png" id="oggi1ora" border="0" />
</html>
</div>

<script type="text/javascript" src="jquery-1.11.2.min.js"></script>
<script>
function refresh_div() {
var d = new Date().getTime();
jQuery.ajax({
url:'oggi1ora.php?ts=' + d,
type:'POST',
success:function(results) {
$("#oggi1ora").attr("src", "grafici/oggi1ora.png?ts=" + d);
}
});
}
t = setInterval(refresh_div,5000);
</script>

最佳答案

您可能遇到了浏览器缓存问题。一种解决方案是将时间戳附加到 URL 以确保获取最新版本。或者将服务器端 header 设置为不缓存。对于前一种解决方案,你可以试试这个:

function refresh_div() {
var d = new Date().getTime();
jQuery.ajax({
url:'oggi1ora.php?ts=' + d,
type:'POST',
// rest of your code

对于后者,你可以这样设置标题:

<?php
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

接下来,jQuery(".result").html(results) 可能没有做任何事情,因为在您的标记中没有类为“result”的元素。

相反,忽略结果并强制图像像这样刷新:

function refresh_div() {
var d = new Date().getTime();
jQuery.ajax({
url:'oggi1ora.php?ts=' + d,
type:'POST',
success:function(results) {
$("#oggi1ora").attr("src", "grafici/oggi1ora.png?ts=" + d);
}
});
}

更新:如果你也想每 5 秒调用一次 /usr/local/bin/oggi1ora.php,那么 include '/usr/local/bin/oggi1ora.php' (或者您的目录结构已设置)或在您的网站中添加 exec('php -q/usr/local/bin/oggi1ora.php') -面向 /var/www/oggi1ora.php 脚本。

关于javascript - 使用 jquery 刷新 php 并重新加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31021918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com