循环运行ajax调用

时间:2018-09-12 21:36:10

标签: javascript jquery ajax loops

好的,我正在制作一种在线多人游戏,需要4个人加入一个大厅。 一切都完成了,但是我希望屏幕不断更新谁加入了大厅。 这是我的功能。

function lobbyquery(x){
$.ajax({
    url: 'inc/fn/lobbyload.php?lid='+ x,
    success: function(data) {
        var spl = data.split(",")
        var p1 = spl[0];
        var p2 = spl[1];
        var p3 = spl[2];
        var p4 = spl[3];
        var pl = spl[4];
        var pleft = 4 - pl;
        $('#game').html('Player1 : ' + p1 + '<br>Player2 : ' + p2 + '<br>Player3 : ' + p3 + '<br>Player4 : ' + p4 + '<br><Br>' + pleft + ' players left to join.')
      }
});

}

我找不到任何解决方案,请帮忙。

2 个答案:

答案 0 :(得分:1)

使用计时器每#秒/毫秒更新一次DIV

setInterval(myMethod(x), 5000);

function myMethod(x)
{
  $.ajax({
    url: 'inc/fn/lobbyload.php?lid='+ x,
    success: function(data) {
      var spl = data.split(",")
      var p1 = spl[0];
      var p2 = spl[1];
      var p3 = spl[2];
      var p4 = spl[3];
      var pl = spl[4];
      var pleft = 4 - pl;
      $('#game').html('Player1 : ' + p1 + '<br>Player2 : ' + p2 + '<br>Player3 : ' + p3 + '<br>Player4 : ' + p4 + '<br><Br>' + pleft + ' players left to join.')
    }
  }
}

答案 1 :(得分:0)

您总是可以设置一个间隔,但是更好的方法是检查大厅负载中的新玩家。并且当您添加了新播放器时,您可以从php脚本中执行lobbyquery更新功能(或类似功能)。

因此逻辑将类似于:

新玩家加入> newPlayerToLobby.php

newPlayerToLobby.php调用javascript大厅更新功能