не может обработать 302 редирект в ajax и почему?

this question already has an answer here:

у меня есть сервер написанный в asp.net mvc с помощью проверки подлинности форм. когда пользователь не аутентифицирован, сервер автоматически отправляет редирект 302 на действия логина и возврата на страницу входа.

на стороне клиента, у меня есть список элементов. этот список доступен только для авторизованных пользователей. на странице у меня есть кнопка для обновления списка с помощью ajax ($.функция ajax в jquery).

теперь моя проблема, когда билет проверки подлинности тайм-аут и пользователь нажимает на кнопку "обновить":

  • my function sends an ajax request to get the refreshed list
  • the server detects that the authentication ticket is not valid and issues a 302 redirect.
  • the browser automatically handles that 302 response and forces my ajax function to send another ajax request to the login action and the final result is an html with status 200. my script is confused because the list is also an html with status 200.
  • я хочу, когда билет проверки подлинности тайм-аут, и пользователь нажимает на кнопку "обновить", я должен быть в состоянии обнаружить и отобразить сообщение с просьбой пользователю войти.

    я попытался обойти это путем добавления пользовательского заголовка (is_login) в действий входа в систему и проверить, что в моем ответе на ajax. но это не является хорошим решением.

    итак, мои вопросы:

  • what is the best way to deal with this problem?
  • why does the browser not let our script handle 302 response? and just automatically forces our ajax to create another request. this is a problem with the browser or jquery library? any reasons for this? (security,...)
  • спасибо за любые ответы.