Все уже не надо. Решила инкремент делать на javascript, а на php отправлять только результат. Работает.
javascript
:
<html>
<head>
<title></title>
</head>
<body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.js"></script>
<div id="result">0</div>
<script type="text/javascript">
$(function(){
var interval = 3000;
function doAjax(i) {
$.ajax({
type: 'POST',
url: 'increment.php',
data: "num="+i,
dataType: 'json',
success: function (response) {
if(response.result=="success")
{
$('#result').html(response.num);
}
},
complete: function (data) {
setTimeout(doAjax, interval,i + 1);
}
});
}
setTimeout(doAjax, interval,1);
});
</script>
</script>
</body>
</html>
PHP
<?php
$num = $_POST["num"];
echo json_encode(array(
'result' => 'success',
'num' => $num
));
?>