我正在使用setInterval
来运行ajax,以便尽可能接近实时(每秒)从数据库中检索数据。现在我从meeting_minutes_queries.php
中提取了少量数据,因此没有滞后或故障。我想将此代码扩展到同一页面上的多个div容器,从而创建多个数据库连接。这似乎效率很低,甚至可能很危险。有没有更有效的方法来进行这个过程?
AJAX代码:
setInterval(function(){
function update_tb(){
$.ajax({
type: "POST",
url: "meeting_minutes_queries.php",
async: false,
success: function(result){
$(".slide_content1").fadeIn('slow').html(result);
}
}).responseText;
}
$(function(){
update_tb();
});
}, 1000);
感谢您提前提供任何帮助。
答案 0 :(得分:2)
是的,有。
您可以使用Long polling或WebSockets。
使用慢速轮询,您运行一个请求,服务器将无限期地保持连接打开,直到它有话要说(例如在PHP睡眠很多,一旦得到结果,回答并完成)。
使用网络套接字,你有更多的可能性。
答案 1 :(得分:0)
试试这个:
$(function(){
setInterval(function(){
update_tb();
}, 1000);
function update_tb(){
$.ajax({
type: "POST",
url: "meeting_minutes_queries.php",
async: false,
success: function(result){
$(".slide_content1").fadeIn('slow').html(result);
}
}).responseText;
}
});