【问题标题】:jQuery .get() data from JSON formatted data and refreshing some DOM element to display it来自 JSON 格式数据的 jQuery .get() 数据并刷新一些 DOM 元素以显示它
【发布时间】:2014-01-12 11:44:41
【问题描述】:

我听说过像 socket.io 这样的技术,但它对我来说太先进了。

我创建了在数组中显示 JSON 格式数据的 PHP 文件。

我使用带有 URL datafile.php 的 jQuery 函数 .get() 来获取字符串并将其显示在页面中。我为此.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);

【问题讨论】:

    标签: php jquery json socket.io


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-06
      • 1970-01-01
      • 1970-01-01
      • 2020-03-29
      • 1970-01-01
      • 1970-01-01
      • 2013-02-25
      • 1970-01-01
      相关资源
      最近更新 更多