Не работает обработчик long pollinga вероятнее всего скрипт не получает обновленные данные из базы, не понимаю как это исправить. PHP: 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); } } аякс Код (Javascript): <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>
Как отлаживаешь? Кстати, $last_ajax_call=isset($_GET['timestamp']) ? (int)$_GET['timestamp']:null; внутри цикла не нужен потому что не будет меняться. Логично?
я точно знаю что аякс рабочий, на примере с файлом эта шняга работала, но с базой нет --- Добавлено --- https://github.com/panique/php-long-polling вот к этому надо базу прифигачить, вроде всё просто... но не пашет