2017-03-17 56 views
0

我有一个登录页面,如果用户进入Login.jsp页面,我打电话的Java Servlet - response.sendRedirect是()返回文件源

$http.post("AutoLogin?uuid=" + uuid).then(
    function(response) { 
     console.log(response); 
    }, function(error) { 
     console.log(error); 
    } 
); 

然后在我的servlet我有:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

//Check user is logged in 
//if user is logged in 
response.sendRedirect("portal.jsp#/dashboard.jsp"); 
return; 
} 

但重定向不会发生,并在响应中,我看到它console.log dashboard.jsp的HTML。为什么不重定向?

谢谢

+0

因为它是对AJAX请求的响应,所以你的JS代码应该处理响应,而不是浏览器。 –

回答

0

您通过AJAX发送的请求。在这里,请求和响应调用会发生什么情况,但您得到的响应仅限于该AJAX调用,因此您只能通过AJAX响应获得该特定响应。 请通过不使用AJAX进行调用,或者在获取响应后,使其从jquery/javascript中的函数(响应)方法重定向。

+0

如果我不打算用ajax调用它,我会用什么来让浏览器处理响应 – iqueqiorio

+0

如果你没有使用ajax调用,那么你可以去,如果你是通过调用ajax,通过ajax调用获得响应后,可以编写window.location =“portal.jsp#/ dashboard.jsp”;在ajax成功的方法。 – Arindam