При нажатии на ссылку целевая страница отображается только при полной загрузке

#php #jquery #hyperlink #loading

#php #jquery #гиперссылка #Загрузка

Вопрос:

У меня есть 2 страницы php: A и B. На странице A есть ссылка для B.

Страница B имеет множество функций (включая функции jquery) и для полной загрузки требуется около 10 секунд.

Проблема в том:

Когда я нажимаю на ссылку страницы A, страница B отображается только при полной загрузке. В это время страница A продолжает «думать».

Мое намерение состоит в том, что когда я нажимаю на ссылку страницы A, она мгновенно переходит на страницу B, а на странице B я использую javascript для отображения «загрузочной» GIF-анимации, пока страница не будет полностью загружена.

Странно, потому что она работает должным образом на моем локальном хостинге, но не на сервере (Linux). Может быть, что-то в php.ini? (я пробовал output_buffer=off, но это не сработало). Есть предложения?

Спасибо!!!

Комментарии:

1. Вероятно, вам следует опубликовать какой-нибудь код.

Ответ №1:

Вероятно, на сервере происходит буферизация. Попробуйте вызвать ob_flush(), flush(), ob_flush(), flush(). Иногда вам нужно вызывать их несколько раз, поэтому я называю их так.

ob_flush() очистит любой имеющийся у вас выходной буфер. flush() очистит любой буфер apache, хотя некоторые модули все еще могут вызывать его буферизацию.

Похоже, что это проблема среды, а не проблема с кодом, поэтому, если у вас все еще возникают ошибки, я бы посмотрел, чем отличаются среды.

Комментарии:

1. Что касается ob_flush, он должен использоваться в первой строке целевой страницы? И разница в среде только в php.ini или есть настройки другого типа? Спасибо

2. Сделайте это после вашего первого ввода, как часть заголовка, если можете. Проблема среды может быть любой, от php.ini до httpd.conf (при условии, что вы используете apache) до балансировщика нагрузки.

Ответ №2:

только что узнал

Только что связался с моей справкой по серверу desk…My сервер не разрешает отключать output_buffer.даже если он установлен на php.ini.So нет решений

спасибо всем