来自JSON格式数据的jQuery .get()数据并刷新一些DOM元素以显示它

时间:2014-01-12 11:44:41

标签: php jquery json socket.io

我听说过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);

1 个答案:

答案 0 :(得分:0)

两条评论。你应该看看socket.io。 Socket.ios允许您的服务器在发生时将数据更新推送到订阅的客户端,从而节省了来自每个连接的客户端的更新数据的浪费轮询,这是非常公认的做法。我在socket.io上没有个人经验,但是我在.NET中使用Signal R来解决这些问题并发现它运行良好。

二。我很想将json返回给您的客户端,然后您的客户端可以适当地呈现数据。然后,如果您需要另一个接口来显示数据,则不必编写另一个服务器端方法,或者如果您需要更改UI,则无需重新部署服务器端组件。

如果您真的无法面对socket.io的努力,那么您的解决方案将起作用,很难让任何人同意这是最佳做法。