Как получать ответ от сервера каждую секунду?

Рейтинг: -1Ответов: 1Опубликовано: 13.02.2023

Как получать ответ от сервера каждую секунду? Без цикла все хорошо работает, но со циклом дает ошибку и я не получаю сообщение. Ошибка:

SyntaxError: Unexpected non-whitespace character after JSON at position 7

for ($i = 0; $i<2; $i++){ 
  echo json_encode(['a' => 1]);  
  ob_flush(); 
  flush(); 
}
fetch(event.target.action, { 
  method: event.target.method, 
  body: new FormData(event.target) 
}) 
.then(response => response.json()) 
.then(data => { 
  console.log(data) 
}) 
.catch(err => console.log(err))

То есть, по факту, я должен получать в консоль каждую сек ответ

Ответы

▲ 0

Например вот так можно отправлять запросы на сервер не ранее одной секунды

// стартуем первый раз
test()

function test() {
  fetch(event.target.action, { 
    method: event.target.method, 
    body: new FormData(event.target) 
  }) 
  .then(response => response.json()) 
  .then(data => { 
    console.log(data) 
  }) 
  .catch(err => console.log(err))
  
  // запускаем запрос еще раз
  setTimeout(test, 1000)
}

То есть, по факту, я должен получать в консоль каждую сек ответ

Это далеко не факт, т.к. сильно зависит от загруженности как клиента, так и сервера. Быстродействие интернета или сети так же внесет свою лепту в этот промежуток...