Не работает обработчик long pollinga вероятнее всего скрипт не получает обновленные данные из базы, не понимаю как это исправить.
set_time_limit(0);
while (true) {//*
$last_ajax_call = isset($_GET['timestamp']) ? (int)$_GET['timestamp'] : null;
clearstatcache();
$data_source_file = R::findLast('messages', 'dialog = ? ',array($_GET['getmess']));
$last_change_in_data_file = $data_source_file->date;
if ($last_ajax_call == null || $last_change_in_data_file > $last_ajax_call) {
$data = $data_source_file->message;
$result = array(
'data_from_file' => $data,
'timestamp' => $last_change_in_data_file
);
$json = json_encode($result);
echo $json;
break;
} else {
sleep(1);
}
}
aякс
<script type="text/javascript">
function getContent(timestamp)
{
var queryString = {'timestamp' : timestamp, 'getmess' : "<? echo $_GET["set"]; ?>"};
$.ajax({
type: 'GET',
url: 'pages/blocks/message/msd.php',
data: queryString,
success: function(data){
var obj = JSON.parse(data);
$('.logick').html(obj.data_from_file);
alert(obj.data_from_file);
getContent(obj.timestamp);
}
}
);
}
$(function() {
getContent();
});
</script>