Как получать ответ от сервера каждую секунду?
Как получать ответ от сервера каждую секунду? Без цикла все хорошо работает, но со циклом дает ошибку и я не получаю сообщение. Ошибка:
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))
То есть, по факту, я должен получать в консоль каждую сек ответ
Ответы (1 шт):
Автор решения: ksa
→ Ссылка
Например вот так можно отправлять запросы на сервер не ранее одной секунды
// стартуем первый раз
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)
}
То есть, по факту, я должен получать в консоль каждую сек ответ
Это далеко не факт, т.к. сильно зависит от загруженности как клиента, так и сервера. Быстродействие интернета или сети так же внесет свою лепту в этот промежуток...