Выйти из одной вкладки. Пользователь должен выйти из другой вкладки - PullRequest
0 голосов
/ 17 мая 2010

Я использую jQuery ajax для обновления данных. Я вошел в две разные вкладки в Firefox.

Я вышел из одной вкладки. Вторая вкладка еще не обновлена.

Когда я пытался обновить данные через ajax-вызов, вызов выполнялся правильно.

Как узнать, что пользователь вышел из системы и отобразить ошибку при выполнении вызова ajax?

Ответы [ 2 ]

3 голосов
/ 17 мая 2010

Перед обработкой вызова AJAX на стороне сервера необходимо проверить, вошел ли пользователь в систему.

Если сеанс не найден, вернуть специальную ошибку в вызове AJAX; пример для JSON:

{"status":"error","error":"loggedout"}

Если приложение получает эту информацию, отобразите пользователю сообщение «Время сеанса истекло» и перенаправьте его на страницу входа (или другую соответствующую).

0 голосов
/ 17 мая 2010

Если пользователь на первой вкладке вышел из системы явным образом (не закрывая вкладку), вы можете проверить, зарегистрирован ли он при обработке запроса Ajax PHP. Например:

function login () {
    $_SESSION['isLogged'] = true;
}

function logout () {
    $_SESSION['isLogged'] = false;
}

function isLogged () {
    return (isset ($_SESSION['isLogged']) ? $_SESSION['isLogged'] : false);
}

и в вашем обработчике Ajax:

if (isLogged ()) {
    ...  some stuff here
}
else {
    ... return error message here and ask user to log in
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...