首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

jsp + ajax验证用户登录的有关问题

2013-04-05 
jsp + ajax验证用户登录的问题菜鸟一只,不懂ajax。问题如下:ajax验证用户登录,要实现登录成功则跳转到相应

jsp + ajax验证用户登录的问题
菜鸟一只,不懂ajax。问题如下:
ajax验证用户登录,要实现登录成功则跳转到相应页面,失败则停留登录页面。但是我遇到的情况是浏览器的url会跳转到处理ajax的jsp页面,失败的话页面也会跳转到jsp页面。不懂,百度好久都没找到解决办法,请各位大神不吝赐教。附上代码:


login_in.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>登录界面</title>
<script type="text/javascript" src="easyui/jquery-1.7.2.min.js"></script>
<style type="text/css">
form{
width:523px; height:324px;
 margin:auto; margin-top:150px;
 background-image:url(images/login.png);
 border:1px #FFF solid;
}
table{
margin:0 auto;
margin-top:120px;
}
select,#user,#pass,#ID{
width:120px;}
.tip{
color:#F00;
font-size:12px;}
</style>
</head>

<body>
  <form id="login" action="#">  <!--登录界面-->
  <input type="hidden" name="action" value="login"/>
    <table>
     <tr><td><label for="user">用户名</label></td><td><input  name="userno" id="user" /></td><td class="tip"></td></tr>
     <tr><td><label for="pass">密码</label></td><td><input  name="password" id="pass" /></td><td class="tip"></td></tr>
     <tr><td><label for="ID">身份</label></td><td class="tip"><select name="role" id="ID">
        <option value="teacher">教师</option>
        <option value="headman">组长</option>
        <option value="student">学员</option></select></td><td></td></tr> 
    <tr><td><input type="submit" value="确认登录"  style="margin-top:10px;"/></td><td><input type="reset"  value="清空重置" style="margin-left:35px; margin-top:10px;"/></td><td></td></tr>
   </table>
  </form>
  <script type="text/javascript">
   var user=$("#uesr").val();
   var pass=$("#pass").val();
   var ID=$("#ID").val();
   $("#user,#pass,#ID").blur(function(){
   if($(this).val()==''){
   $(this).parent().next().html('请输入'+$(this).parent().prev().text());
   }
else{
 $(this).parent().next().html('');
}
   })
 /*提交验证,异步传输*/ 
  $("form").submit( function () {
    if($("#user").val()==''||$("#pass").val()==''){return false;}
else{
$.ajax({
url:'login.jsp',       //处理测试页面,注意返回内容,成功返回OK
dataType:'text',
data:$("form").serialize(),
success:function(msg){
msg = msg.replace(/rn/g,''); 
alert(msg);
if(msg=="ok"){window.location.href="main.html";}
else{
alert("您输入的用户名或密码不相符,请您重新输入");
return;
}
}
});
}



} );
  </script>

</body>
</html>





处理页面:login.jsp



<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>

<%@ page import="com.sms.user.*"%>

<%
response.setCharacterEncoding("utf-8");
String action = request.getParameter("action");
if (action != null && action.equals("login")) {
String userno = request.getParameter("userno");
String password = request.getParameter("password");
String role = request.getParameter("role");

boolean isSuccess = User.check(role, userno, password);
String msg = "error";
if (isSuccess) {
session.setAttribute("userno", userno);
session.setAttribute("role", role);
msg = "ok";


msg = new String(msg.getBytes("ISO-8859-1"), "utf-8");
out.clear();
out.write(msg);

}
%>




[解决办法]

  <script type="text/javascript">
   var user=$("#uesr").val();  //没有必要
   var pass=$("#pass").val(); //没有必要
   var ID=$("#ID").val();   //没有必要
   $("#user,#pass,#ID").blur(function(){
       if($(this).val()==''){
           $(this).parent().next().html('请输入'+$(this).parent().prev().text());
           }
        else{
             $(this).parent().next().html('');
            }
       })
 /*提交验证,异步传输*/ 
  $("form").submit( function (ev) {
ev.preventDefault(); //阻止提交
    if($("#user").val()==''
[解决办法]
$("#pass").val()==''){return false;}
    else{
        $.ajax({
            url:'login.jsp',       
            dataType:'text',
            data:$("form").serialize(),
            success:function(msg){
                msg = msg.replace(/rn/g,''); 
                alert(msg);
                if(msg=="ok"){window.location.href="main.html";}
                else{
                    alert("您输入的用户名或密码不相符,请您重新输入");
                    return;


                    }
                }
            });
        }

} );


[解决办法]
      /*提交验证,异步传输*/
      $("form").submit(function () {
          if ($("#user").val() == '' 
[解决办法]
 $("#pass").val() == '') { return false; }
          else {
              $.ajax({
                  url: 'login.jsp',       //处理测试页面,注意返回内容,成功返回OK
                  dataType: 'text',
                  data: $("form").serialize(),
                  success: function (msg) {
                      msg = msg.replace(/rn/g, '');
                      alert(msg);
                      if (msg == "ok") { window.location.href = "main.html"; }
                      else {
                          alert("您输入的用户名或密码不相符,请您重新输入");
                          return;
                      }
                  }
              });
          }
          return false;////////////////要阻止表单提交
      });

[解决办法]
ls正解。。

热点排行