You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何无需加载外部文件,实现div内容的定时刷新?

解决方案:无需外部文件实现div定时刷新

不行直接用空的load()方法哦——load()必须指定一个URL来获取内容,没有目标地址的话它没法知道该刷新什么内容。不过既然你已经把PHP函数移到当前文档里了,我们可以换个更巧妙的方式,不用额外外部文件就能实现需求。

方法一:在当前页面添加AJAX接口(推荐)

我们可以在当前页面里加一段判断逻辑,当AJAX请求携带特定参数时,只返回dateDiff的计算结果,而不是整个页面。这样既复用了已有的PHP函数,又避免了加载多余内容。

  1. 修改你的PHP代码,在页面最顶部添加以下逻辑:
<?php
// 处理AJAX请求的接口
if (isset($_GET['action']) && $_GET['action'] === 'get_date_diff') {
    function dateDiff($date1, $date2 = false) {
        date_default_timezone_set("Asia/Dushanbe");
        if($date2 == false) $date2 = date("Y-m-d H:i:s");
        $date_1 = new DateTime($date1);
        $date_2 = new DateTime($date2);
        $diff = $date_1->diff($date_2);
        if ($diff->days > 365) {
            return $date_1->format('Y-m-d');
        } elseif ($diff->days > 7) {
            return $date_1->format('M d');
        } elseif ($diff->days > 1) {
            return $date_1->format('l - H:i');
        } elseif ($diff->days == 1) {
            return "Yesterday ".$date_1->format('H:i');
        } elseif ($diff->days > 0 OR $diff->h > 1) {
            return $date_1->format('H:i');
        } elseif ($diff->i >= 1) {
            return $diff->i." min ago";
        } elseif ($diff->d == 0 AND $diff->s < 60) {
            return $diff->s." sec ago";
        } else {
            return "Just now";
        }
    }
    // 输出计算结果并终止页面其他内容输出
    echo dateDiff("2018-01-13 13:26");
    exit;
}
// 下面是你原本的页面内容
?>
  1. 修改JavaScript代码,让load()请求当前页面并带上指定参数:
<script src="jquery-latest.min.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
var refreshId = setInterval(function() {
    // 用当前页面URL加上参数,请求我们的接口
    $('#links').fadeOut("slow")
               .load(window.location.href + "?action=get_date_diff")
               .fadeIn("slow");
}, 5000);
$.ajaxSetup({ cache: false });
</script>

为什么不能用空load()?

load()是jQuery封装的AJAX加载方法,它的核心逻辑就是向指定URL发送请求,把返回的内容插入到目标元素中。如果不提供URL,它没有数据源可以获取内容,自然无法完成刷新操作。

内容的提问来源于stack exchange,提问作者Andreas Hunter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:07:06