我听说过socket.io这样的技术,但对我来说太先进了。
我创建了PHP文件,用于在数组中显示JSON格式的数据。
我使用带有URL .get()
的jQuery函数datafile.php
来获取字符串并将其显示在页面中。我为这个.get()
使用定时器循环,它每隔几秒运行一次。这就是我在不刷新页面的情况下模拟更新文本的方法。
但我真的认为这是正确的做法。有更好的方法吗?
这是我当前的脚本(高亮类只是在元素上稍微闪烁以显示值已被更改):
setInterval(function() {
$('.total-xp .number').addClass('highlighted');
setTimeout(function() {
$('.total-xp .number').removeClass('highlighted');
}, 1500);
$.get("data.php", function(data) {
$(".total-xp .number")
.text(data.total_xp_data)
}, "json");
}, 10000);
答案 0 :(得分:0)
两条评论。你应该看看socket.io。 Socket.ios允许您的服务器在发生时将数据更新推送到订阅的客户端,从而节省了来自每个连接的客户端的更新数据的浪费轮询,这是非常公认的做法。我在socket.io上没有个人经验,但是我在.NET中使用Signal R来解决这些问题并发现它运行良好。
二。我很想将json返回给您的客户端,然后您的客户端可以适当地呈现数据。然后,如果您需要另一个接口来显示数据,则不必编写另一个服务器端方法,或者如果您需要更改UI,则无需重新部署服务器端组件。
如果您真的无法面对socket.io的努力,那么您的解决方案将起作用,很难让任何人同意这是最佳做法。