Выполнить вызов ajax в цикле - PullRequest
0 голосов
/ 13 сентября 2018

хорошо, поэтому я делаю своего рода многопользовательскую онлайн-игру, в которой для участия в лобби требуется 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 голосов
/ 13 сентября 2018

вы всегда можете установить интервал, но лучшим способом сделать это будет проверка новых игроков в лобби. А когда вы добавили нового игрока, вы можете запустить функцию обновления лобби-запроса (или что-то подобное) из вашего php-скрипта.

Так что логика будет выглядеть примерно так:

присоединяется новый игрок> newPlayerToLobby.php

newPlayerToLobby.php вызывает функцию обновления лобби javascript

0 голосов
/ 13 сентября 2018

Используйте таймер для обновления 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.')
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...