【问题标题】:How to keep streaming data updated in the UI如何在 UI 中保持流数据更新
【发布时间】:2017-04-23 18:56:04
【问题描述】:

我正在创建一个 Shoutcast 播放器。使用 Shoutcast 统计数据,我可以知道当前正在播放的曲目。但是,我正在寻找一种解决方案,以便在更改曲目后对其进行更新...

这里有一段代码显示当前歌曲的标题。

var url = "http://212.18.63.135:9034/stats?sid=1&json=1&callback=?";

$.getJSON(url, function(data) {
  $("#title").text(data.songtitle);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="title"></div>

上面的代码是静态的,因为一旦统计数据发生变化,它就永远不会改变。我需要让它动态化,这样它就会随着当前歌曲的变化而变化。换句话说,一旦更新了统计数据 JSON,它也必须更新 UI。

知道怎么做吗?

提前致谢。

【问题讨论】:

    标签: javascript jquery json reload getjson


    【解决方案1】:

    您可以使用每 10 秒调用一次的 setInterval 方法。您可以根据需要更改时间。

    var url = "http://212.18.63.135:9034/stats?sid=1&json=1&callback=?";
    
    setInterval(function(){ 
             $.getJSON(url, function(data) {
               $("#title").text(data.songtitle);
             });
    }, 10000);
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div id="title"></div>

    【讨论】:

    • 感谢您的想法。但是我也需要它每秒更新一次,所以如果它每秒请求 JSON,它不会使代码太重吗?我正在寻找最可行的解决方案。
    • 您是否有服务器访问权限并更新代码,然后您可以使用 socket.io,这对您的情况非常有用。 socket.io
    • 不,不幸的是它只是客户端。
    • 那我相信你只有每隔几秒轮询一次的选项
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    相关资源
    最近更新 更多