Ajax.request(), повторный запрос в случае неудачи
Друзья, помогите, пожалуйста решить задачку.
Когда на сервере заканчивается время жизни сессии, при получении очередного запроса он отдает 401 ошибку. В этом случае я вывожу форму авторизации. В случае успешной авторизации запрос данных нужно повторить. Например, вызывается метод load() у некоего Store. Или submit() некой формы. А сервер возвращает 401. Слушаю requestexception у Ext.Ajax:
Ext.Ajax.on({
requestexception: function (conn, response, options) {
if ( response.status == 401 ) {
//открываю форму авторизации, юзером вводятся логин и пароль,
//форма сабмитится, и, в случае успеха, нужно store.load() повторить
}
}
});
Как осуществить повторный вызов того самого store.load() или form.submit() ? |
Я точно незнаю, но разве события exception у proxy непозволяет определить 401 ошибку ???
Если да, то можно заставить каждый store который обламался, делать повторный вызов своего load самостоятельно, а не централизовано как у вас получается при прослушивании requestexception. |
Я не хочу у каждого proxy проверять статус ответа.
Сделал так. Глобально слушаю
Ext.Ajax.on({
requestexception: function (conn, response, options) {
if ( response.status == 401 ) {
//открываю форму авторизации
//....
//слушаю событие userlogin у app, которое является ссылкой
//на приложение
app.on('userlogin', function() {
Ext.Ajax.request(options);
//всего-то и нужно было, сделать запрос с теми же options
});
}
}
});
Спасибо. |
| Часовой пояс GMT +3, время: 22:21. |