【发布时间】:2011-02-25 00:05:32
【问题描述】:
我是这里的 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;
}
}
对于非 xmlhttp 请求,这工作正常.. 但是当我尝试在我的应用程序中使用 ajax 时,一切都变得很奇怪, 它无法正确重定向到登录页面。 作为检查的值
xhr.status = 200 textStatus = parseError errorThrown = "无效的 JSON - 我的 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);
}
});
});
我检查了我的萤火虫有一个 302 HTTP 响应,但我不确定如何捕获响应并将用户重定向到登录 页。这里有什么想法吗?谢谢。
【问题讨论】:
标签: jquery ajax spring-mvc