Здравствуйте! Пытаюсь сделать длинный опрос. То есть я хочу сделать так, что бы клиент не посылал очередной запрос до того, как не прешел ответ с сервера. В моем случае ответы должны приходить раз в минуту. Вот так выглядит код php:
<?php
$date = new DateTime();
$minutes = $date->format("i");
if($minutes%2 == 0){
print "Сервер отправил запрос";
}
?>
Вот js:
function subscribe(url) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (this.readyState != 4) return;
if (this.status == 200) {
console.log(this.responseText);
} else {
console.log(this);
}
subscribe(url);
}
xhr.open("GET", url, true);
xhr.send();
}
subscribe("http://comet/php.php")
В итоге несколько раз в секунду в консоль выстреливается несколько десяток сообщений, аналогичных этому:
XHR finished loading: GET "http://comet/php.php"
Судя по всему у меня сервер все время шлет ответы. Но как мне сделать так, что бы сервер отправлял ответы только если количество текущих минут делится на 2 без остатка? Как сделать все правильно? Или проблема в js? Заранее спасибо!