Javascript 从JSON实时更新

Javascript 从JSON实时更新,javascript,jquery,html,json,Javascript,Jquery,Html,Json,我有一个JSON文件,它是动态的,包含匹配信息,包括一个唯一的id。JSON分为3个数组:实时、即将发布和最近发布。由于我对Javascript还很陌生,我想知道制作这个livescore脚本的最佳方式是什么。我需要它在不刷新浏览器的情况下进行更新?我的选择是什么?也许有人有一个片段 JSON是通过另一个连接到cron作业的脚本自动更新的,因此该脚本不需要对JSON执行任何操作。仅检索和显示数据 我使用的是dreamhost,它允许我访问shell,所以WebSocket等是一个选项。您需要一个

我有一个JSON文件,它是动态的,包含匹配信息,包括一个唯一的id。JSON分为3个数组:实时、即将发布和最近发布。由于我对Javascript还很陌生,我想知道制作这个livescore脚本的最佳方式是什么。我需要它在不刷新浏览器的情况下进行更新?我的选择是什么?也许有人有一个片段

JSON是通过另一个连接到cron作业的脚本自动更新的,因此该脚本不需要对JSON执行任何操作。仅检索和显示数据


我使用的是dreamhost,它允许我访问shell,所以WebSocket等是一个选项。

您需要一个jquery用户为您提供一个snippit,但在香草ecmascript 6中,您使用一个XMLHttpRequest对象从您的服务器获取JSON。此对象可以从服务器异步请求数据,并由客户端/浏览器触发,因此您可以随时更新实时匹配信息。您只需编写一个函数,在网页更新时用新信息替换网页上的数据。

请说明更多信息,如服务器支持Websocket/longpolling或通用Ajax调用。有一些方法可以实现这一点,最佳解决方案完全取决于推送(发送)的服务器端结构json数据。由于我有权访问shell,一切都应该是可能的。如果它在特定的时间间隔后替换数据,不会造成不好的用户体验,因为它会删除匹配项,然后再次显示它们?或者这对用户来说是不可见的?我看不出为什么您不能轻松地进行数据交换。我会使用
element.innerHTML=matchdata['match']['score']
或类似的内容,它会将元素保留在html文档中,但会更改其中的文本。添加新的匹配项或删除已完成的匹配项会更加困难,但您可以让旧的匹配项保持不变并变为灰色以表示它们已结束,而新的匹配项则显示在列表的末尾。