使用AJAX登录后重定向到JSP页面
我有一个login.jsp页面,用户在其中键入用户名和密码。用户名和密码使用ajax($.post)发送到服务器。身份验证完成后,我想将用户重定向到index.jsp页面 js: Servlet使用AJAX登录后重定向到JSP页面,ajax,jsp,jquery,Ajax,Jsp,Jquery,我有一个login.jsp页面,用户在其中键入用户名和密码。用户名和密码使用ajax($.post)发送到服务器。身份验证完成后,我想将用户重定向到index.jsp页面 js: Servlet protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ....
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
....
login(request, response);
....
}
private void login(HttpServletRequest request, HttpServletResponse response) throws IOException {
String name = request.getParameter(PARAMETER_NAME);
String pass = request.getParameter(PARAMETER_PASS);
traderBean.login(name, pass);
response.sendRedirect("index.jsp");
}
我尝试使用response.sendRedirect(),但它不起作用。我应该使用jQuery使用ajaxCallback重定向用户吗
谢谢。一般来说,如果您只是想重定向,那么使用AJAX是没有意义的,因为您可以通过直接从表单获得servlet句柄来实现这一点 对于您的问题,首先检查servlet的url模式。确保它确实被调用。如果是,那么如果它有一个url模式
/TraderServlet
然后它希望index.jsp
也位于Web
下的根文件夹中。这可能是因为你根本没有重定向到你期望去的地方
检查的一种方法是(如果您使用的是Chrome)使用调试器工具(Windows/Nix上的F12,Mac上的Ctrl-Shift-I),查看它给出了什么错误 是的,我认为您应该尝试在ajax回调中使用客户端重定向。如果要使用ajax请求,请确保将响应内容更改为文本,并使用响应内容编写JSON字符串,以便在客户端处理结果。您可以有一个简单的结构,如
{“resultCode”:“0”、“errorMessage”:“}
或类似结构,但这取决于您的功能需求。
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
....
login(request, response);
....
}
private void login(HttpServletRequest request, HttpServletResponse response) throws IOException {
String name = request.getParameter(PARAMETER_NAME);
String pass = request.getParameter(PARAMETER_PASS);
traderBean.login(name, pass);
response.sendRedirect("index.jsp");
}