отправлять сообщения по истечении сеанса в вызове ajax - PullRequest
1 голос
/ 20 октября 2010

На одной из моих страниц у меня есть div, который использует ajax для асинхронной загрузки контента. Когда сеанс истекает, пользователь должен быть перенаправлен обратно на экран входа в систему. Однако, когда сеанс истекает и запускается вызов ajax, страница входа в систему помещается внутри div. Я хочу, чтобы пользователь был перенаправлен обратно на экран входа в систему.

Ответы [ 3 ]

2 голосов
/ 20 октября 2010

Одним из способов решения этой проблемы является добавление текста для уникальной идентификации страницы входа в систему и использование его в обратном вызове AJAX для повторного перенаправления на страницу входа. Вот пример кода с использованием jQuery global callbacks ....

$(document).bind("ajaxComplete", function(event, response, ajaxOptions) {
    if (response.status == 200 && response.responseText.match(/LOGIN_PAGE_UNIQUE_KEY/)) {
        self.location = "/web/login?timeout=1";
        return false;
    }

});
1 голос
/ 20 октября 2010

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

Или в более ленивом и ненадежном подходе, используйте javascript на странице входа в систему, если местоположение текущей страницы не является именем входа, затем используйте javascript для перенаправления (это зависит от javascript, но, поскольку вы делаете запрос xhr) ).

0 голосов
/ 20 октября 2010

Отправить уведомление обратно в JavaScript, что сеанс больше не действителен. Когда JavaScript получает соответствующую ошибку, имейте это window.location = <a href="http://example.com/" rel="nofollow">http://example.com/</a>.

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