日期:2014-05-16  浏览次数:20438 次

用户登陆:跳转问题
各位好!有问题请教大家了。
问题描述:
  一个用户登陆界面,输入用户名,密码,验证码。然后有一个“确定”按钮。
  点击“确定”按钮后,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跳转的前提下,能实现吗?
谢谢!

------解决方案--------------------
验证正确之后,打印一个ok
function(data){
if( data == 'ok' ){
window.location.href = '你跳转的页面'
}
}
------解决方案--------------------
还有,楼主提问题最好 言简点,好多人看到那么大一堆,就不愿意细看了。
------解决方案--------------------
我提一点建议,登录本身,不要用ajax,就用form post直接整个页面跳转,因为用ajax的话,脚本禁用,或者出错,导致无法登录的可能总是有的。



------解决方案--------------------
怎么2楼的回复被删了? 回复快了,会被删贴?
------解决方案--------------------
就一简单的登录 没必要使用ajax 使用js即可
document.forms["form的id"].action = url";
document.forms["form的id"].submit();