хук codeigniter для проверки версии приложения - PullRequest
0 голосов
/ 15 июля 2009

Я использую CodeIgniter для создания приложения. У приложения много запросов AJAX на setTimeoutInterval, который запускается каждые несколько секунд.

Теперь ситуация такова: Если у пользователя есть открытая страница. Страница отправляет ajax-запросы через определенные промежутки времени. В этот момент я обновил свое приложение на сервере.

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

Я использую CodeIgniter для создания этого приложения.

Я пишу хук "post_controller", который проверит версию в заголовке запроса и текущую версию в приложении. Если что-то не так. Он отправит ответ о несоответствии версий и завершит работу.

Теперь я могу сделать все, но не могу остановить дальнейшую обработку. Если я даю exit () в этой конкретной ситуации, ответ представления не отправляется.

Я могу использовать простое эхо / печать. Но представление CodeIgniter не отправляет ответ, если я даю die () / exit.

Ответы [ 3 ]

1 голос
/ 18 ноября 2009

"Теперь я могу сделать все, но не могу остановить дальнейшую обработку. Если я даю exit () в этой конкретной ситуации, ответ представления не отправляется.

Я могу использовать простое эхо / печать. Но представление CodeIgniter не отправляет ответ, если я даю die () / exit. "

Вам неясно, что вы хотите сделать в случае несоответствия версий - выйти или отправить ответ? Просто выполните выход ('NEW_VERSION_AVAILABLE'), определите этот ответ в своем коде JS и перезагрузите страницу.

Если вы хотите, чтобы запрос был полностью проигнорирован, вы должны сделать то же самое в хуке pre_controller.

0 голосов
/ 15 июля 2009

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

когда проверять версию:

  • Каждый раз, когда кто-то создает одну новую сессию

При обновлении системы:

  • Поставьте один флаг в config / config.php, как updated = true, тогда все активные сеансы будут вынуждены выполнить проверку.

С уважением, Pedro

0 голосов
/ 15 июля 2009

Не уверен, что это сработает, просто выбросил это туда:

Можно ли передать обнаружение несоответствия вашей функции AJAX, а затем вызвать перенаправление javascript window.location на стандартную страницу с обновлением версии?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...