@poshikvova

Почему блокируются вкладки с одного хоста, если в одной из вкладок выполняется долгий ajax запрос?

Есть браузер chrome, в котором открыто две вкладки, для примера назовем их "админка" и "сайт".
Если на вкладке "админка" нажать на кнопку, которая отправляет ajax запрос и ожидает ответ (примерно 2 минуты), то при перезагрузке вкладки "сайт" она не грузиться пока не будет получен ajax ответ на вкладке "админка".
В firefox тоже такое поведение. Есть подозрения что связано с http заголовками.
  • Вопрос задан
  • 63 просмотра
Решения вопроса 2
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Сессии блокируются по дефолту, и пока первый запрос не завершен доступа к файлу сессий не будет у второго запроса.

Чтобы запросы сразу отпускало надо закрыть сессию на запись через session_write_close();

И естественно после этого нельзя редактировать будет $_SESSION.
Чтобы начать работать с сессией надо будет снова сделать session_start();

Так что
session_start();
// делаем что-нибудь
session_write_close();

И вкладки висеть не будут.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Очередь обработки запросов на сервере контролирует отдачу контента только после завершения предыдущего запроса (на изменение, подозреваю) к приложению.
Возможно, из-за механизма незакрытых сессий.

Или выставлено ограничение в настройках веб-сервера: только одно активное соединение с одного ip-адреса.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы