Присутствует скрипт. Нужно дать ответ клиенту по истечению определённого кол-ва времени. Для этого использую функцию sleep() в php и после неё отправляется json ответ. Но в течение работы sleep() с клиента не получается отправить запросы к другим php файлам путём ajax... PHP: sleep($grph->slptime); $request = array( 'status' => 'ended', 'finished' => 'Выполнено: '.$grph->slptime, ); echo json_encode($request); exit(); Клиентский AJAX: $.ajax({ type: 'POST', url: '/ajax/action.php', data: {}, dataType: 'json', success : function (request) { $("#logbar").text(request["finished"]); }, error : function () { $("#logbar").text('Ожидание клика...'); } });
В том JS-коде, что вы показали, нет ничего, что могло бы блокировать последующую работу скриптов. Делаем вывод: есть что-то "за кадром", чего вы не показали и что влияет на такое поведение. Например, где-то в коде прописаны общие параметры для всех Ajax-запросов: Код (Javascript): $.ajaxSetup({ async : false }); --- Добавлено --- ... и не забывайте в консоль заглядывать.
Сессии Файл сессии блокируется на время выполнения скрипта, поэтому другие скрипты, использующие сессию, не могут туда писать. Выход: считать всё из сессии в начале долгого скрипта, после чего вызывать https://php.net/session_write_close