我有一个PHP页面,其中包含一个从MySQL数据库中提取数据的表。许多用户通过更新/编辑或删除操作使用该数据库,因此使用上述页面中的表的用户很难使用它
目前,用户必须刷新页面以查看是否已进行更改,但刷新页面将加载所有应用程序而不仅仅是表格。我可以按特定间隔刷新表,但我正在尝试进行响应式刷新。目标是仅在修改数据库中的表时刷新它。 所以我使用jQuery setinterval和ajax来测试一个表是否在过去30-60秒内更新了,但我仍然不认为这是最好的方法。 有人能想出一个更好,更有用的想法吗?
mySQL查询是:
SELECT UPDATE_TIME
FROM information_schema.tables
WHERE TABLE_SCHEMA = 'shopper'
AND TABLE_NAME = 'sh_partners'
jQuery计时器:
setInterval("updateContent();", 5000 );
function updateContent()
{
$.ajax({
url: 'view/ajax/ajax.quickview.php',
type: 'post',
dataType: 'json',
beforeSend: function() {
$("#small tbody").html('<span class="wait"> <img src="<?= DIR_MEDIA;?>img/ajax_loader.gif" alt="" /></span>');
},
complete: function() {
},
success: function(json) {
refreshTable();
}
});
}
答案 0 :(得分:0)
HTTP通常涉及请求 - 响应类型的通信 - 这意味着您必须按照您的想法轮询服务器。听起来你想要做的就是让服务器推送到客户端,这需要像websockets这样的东西。
这是维基百科页面:
http://en.wikipedia.org/wiki/WebSocket
更多阅读:
http://code.tutsplus.com/tutorials/start-using-html5-websockets-today--net-13270