В ExtJS нет стандартного способа обработки тайм-аутов сессии.ExtJS - это клиентская библиотека, используемая для создания пользовательского интерфейса / интерфейсного уровня приложения, в то время как управление сеансами осуществляется на стороне сервера.
В запросах ExtJS Ajax реализован механизм обратного вызова.Это означает, что определенная функция Javascript назначена в качестве функции обратного вызова, которая вызывается, когда запрос Ajax завершился (успешно или безуспешно).Вот пример, взятый из Документация по ExtJS API - см. Параметры успеха и неудачи, которые определяют функции обратного вызова:
// Basic request
Ext.Ajax.request({
url: 'foo.php',
success: someFn,
failure: otherFn,
headers: {
'my-header': 'foo'
},
params: { foo: 'bar' }
});
Итак, в случае тайм-аута сеанса вы можете (например)создайте ответ JSON, который будет содержать некоторый код ошибки (определенный вами) и сообщение об ошибке, которое будет показано пользователю.Затем функция обратного вызова должна проверить, возвращена ли эта ошибка с сервера, и предпринять необходимые действия (показать сообщение об ошибке, перенаправить на страницу входа и т. Д.), Когда это произойдет.
Обратите внимание, что в приведенном выше случае отС точки зрения ExtJS, Ajax-запрос будет действительно успешным.Когда HTTP-запрос вообще не выполняется (ошибки HTTP, например, 403 и т. Д.), Ajax-запрос считается неудачным.Это важно, потому что обычно можно определить различные функции обратного вызова для успешных и неудачных запросов (как в приведенном выше примере кода).