维护会话的JavaScript HTTP客户端


JavaScript HTTP Client that maintains session

我写了一个小的PHP记分牌,它基本上监视mysql表中的实时体育比分。用户通过加载页面来使用它,然后每5秒重新加载一次。最后加载的计分板存储在会话中,并与当前加载的计分板进行比较。如果玩家改变了排名,PHP脚本会在页面上添加javascript,显示该玩家的红色或绿色高亮效果,这取决于他们是失去了排名还是获得了排名。

我正在寻找的基本上是一种方法来编写一个JavaScript脚本,我可以在我的网站上托管,远程包含在其他网站上,这将基本上与我的服务器保持一个会话,每5秒加载记分牌并显示结果,包括改变排名球员的突出显示。

基本上我想我需要一个HTTP客户端实现在JavaScript可以做到这一点。我在谷歌上搜索了一下,但有很多术语需要分析。另外,我不喜欢使用jquery或任何其他库,因为这些可能已经存在于远程站点上,我不想引起冲突。我认为一个纯javascript的解决方案将是理想的。

在处理记分牌应用程序时,我可以想到两种方法:1)使用PHP + AJAX + MySQL,如果你的应用程序和数据库在同一台服务器上,AJAX应用程序返回的信息量很小,这是很好的。

2)使用websocket应用程序,如socket。.io (http://socket.io/)或甚至棘轮(http://socketo.me/)只在有更新时更新记分牌上的信息。

我个人更喜欢在处理记分牌时使用websocket方法,因为它还允许我在有更新时自定义警报。

正如大家建议的那样,应该使用ajax从php服务器检索数据,而不是重新加载页面。如果您不想使用任何库(如jQuery),您可以使用纯ajax,就像这个例子一样。然后使用setTimeout函数每5分钟调用一次该函数。

如果你能使用jQuery就更好了因为你已经有了ajax函数所以你可以这样做

$.ajax({
  type: "POST",
  url: "some.php",
  success:function(msg){
         //you can update the data here
  }),
});