Javascript 如何每1秒刷新mysql帖子
我使用ajax将用户帖子/评论保存到mysql表中,而无需页面刷新 第一:我有这个Javascript 如何每1秒刷新mysql帖子,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我使用ajax将用户帖子/评论保存到mysql表中,而无需页面刷新 第一:我有这个 第二:我尝试使用Jquery load()在表中循环并回显帖子,代码如下: var auto_refresh = setInterval(function() { $('.posts-container').load("refresh_p.php").fadeIn(); }, 0 ); 但它不工作,页面刷新但内容
第二:我尝试使用Jquery load()在表中循环并回显帖子,代码如下:
var auto_refresh = setInterval(function() {
$('.posts-container').load("refresh_p.php").fadeIn();
}, 0 );
但它不工作,页面刷新但内容无法加载,有人知道为什么吗
第三:如果我复制包含refresh\u p.php
的代码并粘贴到数据中,则会成功加载。有点奇怪?对希望得到任何帮助:)
编辑:
我修复了它,问题出在refresh\u p.php中,它需要参数'profile\u id'
我将函数修改为:
1:profile.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。但在这里,它刷新了整个页面
var auto_refresh = setInterval(function(){
$('.posts-container').load("refresh_p.php").fadeIn(50);
},1000);
将间隔从0(这只会产生疯狂的负载…)更改为1000毫秒(1秒)。如果你的路径是正确的,应该可以工作
将间隔从0(这只会产生疯狂的负载…)更改为1000毫秒(1秒)。如果你的路径是正确的,应该可以工作
将间隔从0(这只会产生疯狂的负载…)更改为1000毫秒(1秒)。如果你的路径是正确的,应该可以工作
将间隔从0(这只会产生疯狂的负载…)更改为1000毫秒(1秒)。如果您的路径正确,应该可以工作。不要使用
setInterval
。对jQuery load complete执行递归调用,这样可以确保调用一个接一个地发送,而不是同时发送
试试这个:
var auto_refresh = function () {
$('.posts-container').load("refresh_p.php", function(){
setTimeout(auto_refresh, 800);
}).fadeIn();
}
auto_refresh();
另外,.fadeIn()
仅在第一次使用时有效,之后必须在再次显示div之前隐藏该div
演示:(可能很慢,因为它正在加载整个页面)
LE:由于我认为您没有返回HTML
页面,您应该使用$。get
而不是$。load
$('.posts-container').get("refresh_p.php", function(data){
$(this).html(data);
setTimeout(auto_refresh, 800);
}).fadeIn();
不要使用
setInterval
。对jQuery load complete执行递归调用,这样可以确保调用一个接一个地发送,而不是同时发送
试试这个:
var auto_refresh = function () {
$('.posts-container').load("refresh_p.php", function(){
setTimeout(auto_refresh, 800);
}).fadeIn();
}
auto_refresh();
另外,.fadeIn()
仅在第一次使用时有效,之后必须在再次显示div之前隐藏该div
演示:(可能很慢,因为它正在加载整个页面)
LE:由于我认为您没有返回HTML
页面,您应该使用$。get
而不是$。load
$('.posts-container').get("refresh_p.php", function(data){
$(this).html(data);
setTimeout(auto_refresh, 800);
}).fadeIn();
不要使用
setInterval
。对jQuery load complete执行递归调用,这样可以确保调用一个接一个地发送,而不是同时发送
试试这个:
var auto_refresh = function () {
$('.posts-container').load("refresh_p.php", function(){
setTimeout(auto_refresh, 800);
}).fadeIn();
}
auto_refresh();
另外,.fadeIn()
仅在第一次使用时有效,之后必须在再次显示div之前隐藏该div
演示:(可能很慢,因为它正在加载整个页面)
LE:由于我认为您没有返回HTML
页面,您应该使用$。get
而不是$。load
$('.posts-container').get("refresh_p.php", function(data){
$(this).html(data);
setTimeout(auto_refresh, 800);
}).fadeIn();
不要使用
setInterval
。对jQuery load complete执行递归调用,这样可以确保调用一个接一个地发送,而不是同时发送
试试这个:
var auto_refresh = function () {
$('.posts-container').load("refresh_p.php", function(){
setTimeout(auto_refresh, 800);
}).fadeIn();
}
auto_refresh();
另外,.fadeIn()
仅在第一次使用时有效,之后必须在再次显示div之前隐藏该div
演示:(可能很慢,因为它正在加载整个页面)
LE:由于我认为您没有返回HTML
页面,您应该使用$。get
而不是$。load
$('.posts-container').get("refresh_p.php", function(data){
$(this).html(data);
setTimeout(auto_refresh, 800);
}).fadeIn();
确保间隔时间足够长,以便完成请求。还要考虑一些不太实时的选项,例如每15秒发送一组消息,在客户端一个接一个地显示它们。使用缓存优化服务器端以实现快速响应,同时考虑使用json数据和客户端模板,而不是html响应。确保间隔足够长,以便完成请求。还要考虑一些不太实时的选项,例如每15秒发送一组消息,在客户端一个接一个地显示它们。使用缓存优化服务器端以实现快速响应,同时考虑使用json数据和客户端模板,而不是html响应。确保间隔足够长,以便完成请求。还要考虑一些不太实时的选项,例如每15秒发送一组消息,在客户端一个接一个地显示它们。使用缓存优化服务器端以实现快速响应,同时考虑使用json数据和客户端模板,而不是html响应。确保间隔足够长,以便完成请求。还要考虑一些不太实时的选项,例如每15秒发送一组消息,在客户端一个接一个地显示它们。使用缓存优化服务器端以实现快速响应,还可以考虑使用json数据和客户端模板,而不是html响应。如果要每1秒刷新一次,最好学习web套接字,这相当密集。刷新是否包含php代码?每1秒一次?你会在那里产生相当大的负担。。数据可能已缓存,当您再次加载时,它会看到缓存的版本。不要使用
setInterval
。在jQuery加载完成时进行递归调用,这样可以确保调用一个接一个地发送,而不是同时发送。@如果不知道a)查询和表结构,很难说它有多密集,b)有多少同时进行此轮询的用户。不过,它肯定没有经过优化。如果你打算每1秒刷新一次,最好是学习web套接字-这相当密集。刷新p.php是否包含php代码?每1秒一次?您将创建qu