Представим, что вы находитесь на странице с сеткой ExtJS с помощью pagingToolbar. Представим себе, что вы остаетесь на этой странице некоторое время, и что за это время ваша сессия PHP истекает. Когда вы нажмете «Следующая страница» или «перезагрузитесь» в сетке, вызов на сервер потерпит неудачу, так как он ответит сообщением о том, что вам не разрешено получать информацию (так как срок действия вашей сессии истек).ExtJS: хранилище, pagingToolbar и PHP session expire
Как вы можете справиться с этим в gridPanel, чтобы избежать его застревания? Я надеюсь, что это было достаточно ясно.
Bye!
Привет, Стефан, спасибо за ваш ответ. Это один из интересных способов решения проблемы, я буду смотреть на нее. Но угадайте, что вы хотите уведомить пользователя о том, что что-то пошло не так, потому что данные, которые отправил сервер, не являются фактическим содержимым, которое будет отображаться в сетке, но сообщение об ошибке (возможно, закодировано в JSON: «Срок действия сеанса истек ... + redirect "): можно ли справиться с этой проблемой таким образом? – Danilo
Да, это абсолютно возможно. Запрос «heartbeat» полностью отделен от фактического запроса данных о проблемах с магазином, поэтому у вас может быть обработчик событий на стороне клиента, который прослушивает это событие heartbeat (я говорю о подходе «Ext.direct») и реагирует на полезную нагрузку, содержащуюся в событии. Мы делаем это точно для одной цели: сохраняем сеанс до тех пор, пока не истечет определенный промежуток времени, а затем выйдите из системы. –