我一直在处理 jquery/ajax 请求。我已经成功收到一个 ajax 请求,该请求将从数据库检索数据,问题是,我不断地提供 window.setInterval()
服务,每 x 秒刷新此函数。
我如何更改此设置以保持 ajax 请求处于事件状态,以便它更新 html 内容,而不必向我的 ajax 脚本提供多个请求。
我的代码如下:
window.setInterval(function()
{
$(function ()
{
$.ajax({
url: 'Ajax.php'+SearchTerm, dataType: 'json', success: function(rows)
{
$('#NumberOfVotes').empty();
for (var i in rows)
{
var row = rows[i];
var QuestionID = row[0];
var Votes = row[1];
$('#NumberOfVotes')
.append(Votes);
}
}
});
});
}, 500);
最佳答案
这很大程度上取决于您的服务器如何动态更新其内容。也就是说,您正在寻找的是 websockets。 Websocket 旨在取代长轮询范例。
编辑:由于您主要使用 php 作为服务器技术,请查看 Ratchet。我听说过有关它的好消息http://socketo.me/
这是一篇关于在 HTML 中使用 websockets 的优秀文章 http://net.tutsplus.com/tutorials/javascript-ajax/start-using-html5-websockets-today/
.NET 在 SignalR 中有一个很棒的套接字库 http://signalr.net/
有大量关于套接字的 php 文档 http://php.net/manual/en/book.sockets.php
关于php - 使用 Ajax 动态从数据库获取数据,无需刷新间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15412166/