我不希望有完整的例子,我只是需要一个开始的方向。
因此,为了解释我想要做什么,我有一个应用程序,用户可以在其中登录、注销、添加内容、在站点中执行操作等。我想知道是否可以使用 PHP 和 AJAX 制作一个自动的小部件像这样的更新:
- 有人登录...
- 有人加了照片...
- ETC..
我只想要一个指导方针或方向,我将如何制作自动更新和提取数据/操作/等的实时小部件。它会是时间间隔更新吗?
有任何想法吗?
您可以使用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 回调中以仅在当前刷新完成时启动计时器可能会更好。
首先,您需要存储要在小部件中显示的操作列表,例如,您可以使用 (id, created_at, action_description) 创建一个数据库表,并且每当用户执行应在小部件中显示的操作时 (例如上传照片等),在该表中插入一条记录(请注意,如果您有很多用户,这不是很有效并且不能很好地扩展)其次,在浏览器端,您会定期调用一个函数(例如使用 setInterval)查询服务器的更新并更新小部件
上述解决方案非常简单且无法扩展。希望有帮助