Как обработать истечение срока сеанса в частично загруженных div в mvc - PullRequest
0 голосов
/ 26 мая 2020

У меня есть 2 блока на странице, в зависимости от идентификатора клика слева. Я загружаю содержимое в правый блок. Но когда сеанс истекает, я ожидаю, что страница будет перенаправлена ​​на вход в систему, но это не так. иногда кнопка не работает или иногда экран входа в систему загружается в правом div. Любые предложения по обработке этого сеанса истекли?

1 Ответ

0 голосов
/ 26 мая 2020

По умолчанию IIS просто возвращает страницу входа с кодом состояния HTTP 200 по истечении сеанса. Это заставляет ваш ajax не воспринимать это как ошибку.

Таким образом, вам нужно выполнить проверку действия вашего контроллера, чтобы узнать, истек ли сеанс, и, если это так, вы можете вернуть HttpStatusCodeResult(HttpStatusCode.Unauthorized) .

После этого в вашем ajax вы можете использовать что-то вроде этого:

$.ajax({
//...        
error: function(data, textStatus, xhr) {
    if(xhr.status == "401"){ window.location.href = "/login";
    }
}
...