各位好!有问题请教大家了。
问题描述:
        一个用户登陆界面,输入用户名,密码,验证码。然后有一个“确定”按钮。
        点击“确定”按钮后,js中使用jquery的$.post把用户名,密码和验证码发送到一个servlet。
        在servlet中,先验证验证码是不是正确,如果不正确,通过PrintWriter返回一个错误信息,然后在$.post的第三个参数function(data)中获得这个data,然后alert(data),提示用户验证码输入错误。
        如果验证码是正确的,servlet再去数据库中查有没有这个人,通过用户名和密码去匹配,如果不存在,也使用PrintWriter返回一个错误信息,同样在$.post的第三个台数function(data)中获得这个data,然后alert(data)。
        如果用户名,密码,验证码都输入正确,则使用request.getRequestDispatcher("/test/userLoginSuccess.jsp").forward(request, response)。
现在的问题是:用户输入的用户名,密码和验证码都正确,就是跳转不了。我查了一下,说是$.post不能实现跳转,只能在返回数据后,在$.post的第三个参数function(data)中通过JS跳转。当然,我在servlet中使用response.sendRedirect也跳转不了。请问各位,我可以使用什么方式来跳转到目录页面?在使用$.post并不在其第三个参数中使用js跳转的前提下,能实现吗?
谢谢!

解决方案 »

  1.   

    验证正确之后,打印一个ok
    function(data){
    if( data == 'ok' ){
    window.location.href = '你跳转的页面'
    }
    }
      

  2.   

    我提一点建议,登录本身,不要用ajax,就用form post直接整个页面跳转,因为用ajax的话,脚本禁用,或者出错,导致无法登录的可能总是有的。
     
      

  3.   


    关键是得在页面上对用户的输入作验证,如果用户输入不正确,要留在登陆页面上,我想到的就是用ajax。如果直接使用form提交,如果用户输入的不正确的话,要保留在原来的页面会有柠刷新。
      

  4.   

    就一简单的登录 没必要使用ajax 使用js即可
    document.forms["form的id"].action = url";
    document.forms["form的id"].submit();