gpt4 book ai didi

javascript - 如何每1秒刷新一次mysql帖子

转载 作者:太空宇宙 更新时间:2023-11-03 12:17:44 25 4
gpt4 key购买 nike

我使用 ajax 将用户帖子/评论保存到 mysql 表中,而无需刷新页面。

首先:我有这个<div id="posts-container"></div>

第二:我尝试使用 Jquery load() 在表中循环并回显帖子,代码如下:

var auto_refresh = setInterval(function() {
$('.posts-container').load("refresh_p.php").fadeIn();
}, 0 );

但它不起作用,页面刷新但内容未加载,有人知道为什么吗?

第三:如果我复制包含refresh_p.php的代码并粘贴到数据中成功加载。有点奇怪?是的。希望得到任何帮助:)

编辑:我修好了,问题出在 refresh_p.php 中,它需要参数“profile_id”我将函数修改为:

1: 配置文件.php

search_user = document.getElementById('user_from').value; 
var auto_refresh = setInterval(function() {
$('.posts-container').load("refresh_p.php?search_user="+search_user).fadeIn();
}, 5000 );

2: refresh_p.php

$profile_id = $_GET['search_user'];

很好,但现在整个页面每 5 秒刷新一次。我只想刷新 div“post-container”。

我以前用过这个功能来刷新聊天框并且它有效,只刷新了我想要的 div。但在这里它刷新了整个页面。

最佳答案

不要使用setInterval。完成对 jQuery 加载的递归调用,这样可以确保调用一个接一个地发送,而不是同时发送。

试试这个:

var auto_refresh =  function () {
$('.posts-container').load("refresh_p.php", function(){
setTimeout(auto_refresh, 800);
}).fadeIn();
}
auto_refresh();

此外,.fadeIn() 仅在第一次有效,之后您必须隐藏 div 才能再次显示它。

演示:http://jsfiddle.net/P4P9a/1/ (可能会很慢,因为它正在加载整个页面)。

LE:因为我认为您不会返回 HTML 页面,所以您应该使用 $.get 而不是 $.load .

 $('.posts-container').get("refresh_p.php", function(data){
$(this).html(data);
setTimeout(auto_refresh, 800);
}).fadeIn();

关于javascript - 如何每1秒刷新一次mysql帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21384118/

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