当前位置: 首页 > 知识库问答 >
问题:

无定时器向前端传递数据

於乐语
2023-03-14

我正在创建一个博客项目。我希望每次创建一个新的帖子,用户不必刷新页面来看到帖子,它将只是追加到已经存在的。这就是目前正在做的事情

function postTin() {
$.ajax({
    type:'POST',
    url: "frextra.php",
    data:"ins=passPost",
    success: (function (result) {
        $("#post").html(result);
    })
})
}

postTin(); // To output when the page loads
setInterval(postTin, (5 * 1000)); // x * 1000 to get it in seconds

这里所做的是,每隔5秒页面就会重新加载发布的数据,在这种情况下,它还会添加新发布的数据

我想要的是:我不想使用计时器,我希望只有当数据库中添加了新的帖子时才加载请求。被困在这里两个星期了。到处找了找,也没看到什么能帮上忙的。

共有1个答案

顾学真
2023-03-14

我不知道没有计时器你怎么能做到这一点。下面是我的解决方案,您需要调整代码:

添加对应于页面最新发布日期的发布参数

data: "ins=passPost&date=" + $('#posts-list li:first-child').data('date')

假设您的HTML中有类似的内容

<!-- Posts ordered from newest to oldest -->
<ul id="posts-list">
    <li data-date="2018-03-22 15:20">
        <!-- Here the Post HTML code -->
    </li>
    <!-- Here the remaining Posts -->
</ul>
'... AND date_added > ' . some_db_escape($_POST['date']) . '...'

在ajax成功函数中,您需要预先准备来自PHP的数据

$('#posts-list').prepend(result);

PHP发送的数据必须是一个字符串,类似于上面的HTML

  • 元素,表示从最新到最旧的更新帖子

    <li data-date="2018-03-23 10:43">
        <!-- Here the Post HTML code -->
    </li>
    <li data-date="2018-03-22 18:00">
        <!-- Here the Post HTML code -->
    </li>
    <!-- etc. -->
    

  •  类似资料:
    • 问题内容: 在flask中,我可以这样做: 并且如果foo.html包含,页面将会显示。但是,如果有一条通往foo的路线怎么办: 在这种情况下,如果我仍然希望这种逻辑发生,那么进入foo.html的唯一方法是通过: 因此,如何使该变量传递到路由,这样我不必在加载路由之前重写重写该路由计算的逻辑代码? 问题答案: 你可以将消息作为显式URL参数传递(正确编码),也可以在重定向之前将消息存储到(coo

    • 我这样加载控制器: fxml绑定到MainController.java。有没有一种方法可以传递我需要的用户ID,并在控制器的initialize()方法上访问它?

    • 问题内容: 我正在尝试使用Struts2实现以下目标 这就是我在做什么: 为什么以上内容不能重定向为以下任何建议: 问题答案: 到目前为止,对我有用的解决方案是 在操作中定义味精的设置者和获取者的位置

    • 我需要将数据传递到我的路由器,以便在目的地组件中使用它,我使用了< code>NavigationExtras的< code>QueryParam,但它在URL中显示参数,还有其他传递数据的方法吗?

    • 父页面 子组件 这样传递不对吗?

    • 如题所述:前端的代码如下 传递如图 后端处理代码如下: 后端打印结果如下: 请问,哪里出现问题?