0

我不希望有完整的例子,我只是需要一个开始的方向。

因此,为了解释我想要做什么,我有一个应用程序,用户可以在其中登录、注销、添加内容、在站点中执行操作等。我想知道是否可以使用 PHP 和 AJAX 制作一个自动的小部件像这样的更新:

  • 有人登录...
  • 有人加了照片...
  • ETC..

我只想要一个指导方针或方向,我将如何制作自动更新和提取数据/操作/等的实时小部件。它会是时间间隔更新吗?

有任何想法吗?

4

2 回答 2

1

您可以使用setTimeout()javascript 方法每 X 毫秒触发一次小部件的重新加载。

var delay = 5000; // 5 seconds
setTimeout('refresh();', delay );
function refresh(){
   doAjaxCall(); // ajax call to get new data and update the widget
   setTimeout('refresh();', delay ); // schedule next refresh
}

将重新调度(最后一行)放在 ajax 回调中以仅在当前刷新完成时启动计时器可能会更好。

于 2012-07-20T14:13:31.120 回答
1

首先,您需要存储要在小部件中显示的操作列表,例如,您可以使用 (id, created_at, action_description) 创建一个数据库表,并且每当用户执行应在小部件中显示的操作时 (例如上传照片等),在该表中插入一条记录(请注意,如果您有很多用户,这不是很有效并且不能很好地扩展)其次,在浏览器端,您会定期调用一个函数(例如使用 setInterval)查询服务器的更新并更新小部件

上述解决方案非常简单且无法扩展。希望有帮助

于 2012-07-20T14:24:39.220 回答