生活随笔
收集整理的這篇文章主要介紹了
Ajax异步请求登录
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
做這個登錄呢,我用到一個第三方的JqueryUI,這個開源的JueryUI里面有一個對話框dialog,里面的登錄層已經封裝好了。下面就來說說把實現登錄
1.先把第三方的東西拿過來
<link?href="../Css/jquery-ui-1.8.2.custom.css"?rel="stylesheet"?type="text/css"?/>????<script?src="../member/js/jquery-1.7.2.js"?type="text/javascript"></script>????<script?src="../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";????????});???????????????????$("#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")?{?????????????????????$("#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.IRequiresSessionState
1.先來接收到前臺是選擇的是 check檢查用戶是否登錄 login用戶以登錄
string action=context.Request.Form["action"];//來取到是check還是login
//如果說用戶是第一次登錄的頁面,就要檢查此用戶是否存在
if(action=="check"){????????if(context.Session["User"]!=null)?????{??????????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.UserManger?bll=new?BLL.UserManager();??Model.User?model=null;??string?msg=string.Empty;??bool?b=bll.GetCheckUserLogin(textName,textPwd,out?msg,out?model);??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.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;?}?}?
轉載于:https://blog.51cto.com/fourleafclover/1125154
總結
以上是生活随笔為你收集整理的Ajax异步请求登录的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。