Я новичок в ajax, и знаю, что кто-то уже столкнулся с этой проблемой. У меня есть устаревшее приложение, построенное на Spring MVC, у него есть перехватчик (фильтр), который перенаправляет пользователя на логин когда всякий сеанс отсутствует.
public class SessionCheckerInterceptor extends HandlerInterceptorAdapter {
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
HttpSession session = request.getSession();
// check if userInfo exist in session
User user = (User) session.getAttribute("user");
if (user == null) {
response.sendRedirect("login.htm");
return false;
}
return true;
}
}
Для запроса non-xmlhttp это работает нормально.. но когда я пытаюсь использовать ajax в своем приложении, все становится странным, он не может перенаправить на страницу входа правильно. Как проверить значение
xhr.status = 200 textStatus = parseError errorThrown = "Недействительный JSON -Markup моей страницы входа в систему HTML -
$(document).ready(function(){
jQuery.ajax({
type: "GET",
url: "populateData.htm",
dataType:"json",
data:"userId=SampleUser",
success:function(response){
//code here
},
error: function(xhr, textStatus, errorThrown) {
alert('Error! Status = ' + xhr.status);
}
});
});
Я проверил на своем firebug, что есть ответ HTTP HTTP 302, но я не уверен, как поймать ответ и перенаправить пользователя на логин стр. Любая идея здесь? Спасибо.