为了账号安全,请及时绑定邮箱和手机立即绑定

Ajax异步请求登录

标签:
Java

做这个登录呢,我用到一个第三方的JqueryUI,这个开源的JueryUI里面有一个对话框dialog,里面的登录层已经封装好了。下面就来说说把实现登录

1.先把第三方的东西拿过来

<link href="../Css/jquery-ui-1.8.2.custom.css" rel="stylesheet" type="text/css" />    <script class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="../member/js/jquery-1.7.2.js" type="text/javascript"></script>    <script class="lazyload" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC" data-original="../SWFUpload/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script>

2.把html表单给弄出来

<body>     <form id="form1" runat="server">     <div>         <div>             <div id="divLogin" style="display: none">                 <a id="linkUserName"></a><a id="linkLogout" href="void(0)"< /span>>注销</a>             </div>             <div id="divNotLogin" style="display: none">                 <a href="void(0)"< /span> id="linkLogin">登录</a>             </div>             <div id="dlgLogin" style="display: none">                 用户名:<input type="text" id="txtLoginUserName" /><br />                 密码:<input type="password" id="txtLoginPassword" /><br />                 <div id="divLoginMsg" style="color: Red">                 </div>                 <br />                 <input type="button" id="btnLogin" value="登录" />             </div>         </div>     </form> </body>
|||||现在我们写Jquery代码
<script type="text/javascript">     $(function(){     CheckLogin();//调用检查用户是否登录的方法     //当用户点击这个登录按钮的时候        $("#btnLogin").click(function(){        userLogin();//调用用户登录的方法        location.href="/member/BookShow_UI.aspx";//登录成功转向这个页面        });         //这个是JqueryUI里面封装好的一个点击事件          $("#linkLogin").click(function () {                 $("#dlgLogin").dialog({                     modal: true,                     buttons: {                         Ok: function () {                             $(this).dialog('close');                         }                     }                 });     });      //用户登录      function userLogin(){       //先收集用户在文本框里面输入的值       var name=$("#txtLoginUserName").val();       var pwd=$("#txtLoginPassword").val();       //判断用户输入的不能为空       if(name!="" && pwd!=null){        $.post("/ashx/Login.ashx",{"action":"login","textName":name,"textPwd":pwd},function(data){  var str=data.split(":");   var s = data.split(":");                     if (s[0] == "0k") {                         $("#divLogin").show();                         $("#linkUserName").text(s[1]);                         //把层关闭                         $("#dlgLogin").dialog('close');                         $("#divNotLogin").hide();                         $("#dlgLogin").hide();                     } else if (s[0] == "no") {                         $("#divLogin").hide();                         $("#divNotLogin").show();                     } else {                         alert("错误咯");                         return false;                     } });        }      };      //检查用户是否登录了         function CheckLogin() {             $.post("/ashx/Login.ashx", { "action": "check" }, function (data) {                 var s = data.split(":");                 if (s[0] == "ok") {//ok表示已经登录了                      $("#divLogin").show();                     $("#linkUserName").text(s[1]);                     $("#divNotLogin").hide();                     $("#dlgLogin").hide();                 } else if (s[0] == "no") {                     $("#divLogin").hide();                     $("#divNotLogin").show();                 } else {                     alert("错误咯!!");                 }             });         } </scirpt>
========================================一般处理程序在一般处理程序里面要存储用户的信息,Seesion["User"]=user,在一般处理程序里面要存储用户的帐号与密码到Session里面。在一般处理程序里面必须要实现一个接口 System.Web.SessionSatae.IRequiresSessionState1.先来接收到前台是选择的是  check检查用户是否登录   login用户以登录string action=context.Request.Form["action"];//来取到是check还是login//如果说用户是第一次登录的页面,就要检查此用户是否存在
if(action=="check"){    //判断用户是否存在    if(context.Session["User"]!=null)     {     //我们就要把用户的帐与密码取出来存在Seesion中     context.Response.Write("ok:"+(((Model.User)context.Session["User"])).LoginId);      }else{       context.Response.Write("no:");      } }else if(action=="login"){ //取到用户有前台文本框里面输入的值 string textName=context.Request.Form["textName"]; string textPwd=context.Request.Form["textPwd"]; //创建一个BLL层 BLL.UserManger bll=new BLL.UserManager(); //创建一个Model实体对象 Model.User model=null; //创建一个用户登录的状态 string msg=string.Empty; //定义一个变量来接收在bll层里面的用户登录的判断 bool b=bll.GetCheckUserLogin(textName,textPwd,out msg,out model); //判断这个b是否为true; if(b){ context.Session["User"]=model; context.Response.Write("ok:"+model.LoginId); }else{ context.Response.Write("on:"); } }
  在一般处理程序里面有一个方法是用来检查用户登录的状态  在bll层里面来定义一个这样的方法GetCheckUserLogin(string name,string pwd,out string msg,out Model.User user)
//定义一个用户来判断是否登录了参数用到了用户帐号用户密码状态和当前登录的用户名 public bool GetCheckUserLogin(string name,string pwd,out string msg out Model.User user) { //创建一个DAL层对象 DAL.UserServices dal=new DAL.UserServices(); user=dal.GetModel(name);//判断用户帐与数据里面取到的是否相等  这个是用动软生成的 直接调用里面的这个取用户实体的对象方法 //如果说这个用户不存在 if(user!=null) { //判断用户的登录状态是否正常  这是在数据库里面 if(user.UserState.Name=="正常") { //判断用户的密码是否与数据库里面的一样 if(user.LoginPwd=="pwd") { msg="登录成功"; return true; }else{ msg="用户名或者密码错误"; return false; } }else{ msg="用户没有激活"; return false; } }else{ msg="用户不存在"; return false; } }

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消