0

我有一个 login.jsp 页面,用户在其中输入用户名和密码。使用 ajax ($.post) 将用户名和密码发送到服务器。身份验证完成后,我想将用户重定向到 index.jsp 页面。

js:

function Login()
{
    var traderName = document.getElementById('username').value;
    var traderPass = document.getElementById('password').value;

    //SetLoginLoading();

    data = {action:'login',username:traderName,password:traderPass};

    $.post('TraderServlet',$.param(data),function(response){
    });
    return false;
}

小服务程序

     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 吗?

谢谢你。

4

1 回答 1

0

一般来说,如果您只是要重定向,那么使用 AJAX 确实没有意义,因为您可以通过直接从表单中处理 servlet 来完成此操作。

对于您的问题,首先检查您的 servlet 的 url 模式。确保它实际上被调用。如果是这样,那么如果它具有类似的 url 模式

/TraderServlet

然后它预计index.jsp也位于Web. 可能是您根本没有重定向到您期望去的地方。

一种检查方法是(如果您在 Chrome 中)使用调试器工具(Windows/Nix 上的 F12,Mac 上的 Ctrl-Shift-I),看看它给出了什么错误。

于 2013-03-13T22:55:15.497 回答