ajax實現使用者登入註冊和退出

來源:互聯網
上載者:User
ajax實現使用者註冊登入和退出 第一步:驗證使用者名稱

get
guestbook/index.php
m:index
a:verifyUserName
username:要驗證的使用者名稱
返回{
code:返回的資訊代碼 0=沒有錯誤,1=有錯誤
message: 返回的資訊 具體返回的資訊
} 第二步: 使用者註冊

post
guestbook/index.php
m:index
a:reg
username:要驗證的使用者名稱
password:註冊密碼
返回{
code:返回的資訊代碼 0=沒有錯誤,1=有錯誤
message: 返回的資訊 具體返回的資訊
} 第三步: 使用者登入

當登入成功時,調用更新狀態函數
post
guestbook/index.php
m:index
a:login
username:要登入的使用者名稱
password:登入密碼
返回{
code:返回的資訊代碼 0=沒有錯誤,1=有錯誤
message: 返回的資訊 具體返回的資訊
} 第四步:檢驗cookie

寫一個擷取cookie的函數,根據cookie值是否存在來寫一個更新使用者狀態的函數 第五步:使用者退出

當使用者退出時,調用更新狀態函數
post
guestbook/index.php
m:index
a:logout
返回{
code:返回的資訊代碼 0=沒有錯誤,1=有錯誤
message: 返回的資訊 具體返回的資訊
} (以上是步驟說明和一些後端介面)

完整代碼如下

window.onload=function(){    var oUsername1=document.getElementById('username1');//使用者名稱框(註冊)    var oVerifyUserNameMsg=document.getElementById('verifyUserNameMsg');//驗證驗證使用者名稱提示框(註冊)    var oPassword1=document.getElementById('password1');//密碼框(註冊)    var obtnReg=document.getElementById('btnReg');//提交按鈕(註冊)    var oUsername2=document.getElementById('username2');//使用者名稱框(登入)    var oPassword2=document.getElementById('password2');//密碼框(登入)    var obtnLogin=document.getElementById('btnLogin');//提交按鈕(登入)    var oReg=document.getElementById('reg');//註冊框    var oLogin=document.getElementById('login');//登入框    var oUser=document.getElementById('user');//退出框    var oUserinfo=document.getElementById('userinfo');//使用者名稱(退出框)    var oLogout=document.getElementById('logout');//退出按鈕(退出框)    function getCookie(key){         //擷取cookie值            var arr=document.cookie.split('; ');            //console.log(arr);            for(var i=0;i<arr.length;i++){                var arr2=arr[i].split('=');                console.log(arr2);                if(arr2[0]==key){                    return arr2[1];                }            }        };    updataUser();    function updataUser(oUid){  //更新狀態函數        var oUid=getCookie('uid');        var oUsername=getCookie('username');        if(oUid){            oUser.style.display='block';            oUserinfo.innerHTML=oUsername;            oReg.style.display='none';            oLogin.style.display='none';        }else{            oUser.style.display='none';            oUserinfo.innerHTML="";            oReg.style.display='block';            oLogin.style.display='block';        }    }    oUsername1.onblur=function(){    //使用者名稱驗證        ajax('get',"guestbook/index.php",'m=index&a=verifyUserName&username='+this.value,function(data){            var info=JSON.parse(data);             oVerifyUserNameMsg.innerHTML=info.message;             if(info.code){                oVerifyUserNameMsg.style.color='red';             }else{                oVerifyUserNameMsg.style.color='green';             }        });    };    obtnReg.onclick=function(){     //註冊提交按鈕        ajax('post','guestbook/index.php',            'm=index&a=reg&username='+encodeURI(oUsername1.value)+'&password='+oPassword1.value,            function(data){            var info=JSON.parse(data);            alert(info.message);            if(!info.code){                oReg.style.display='none'            }        });    };    obtnLogin.onclick=function(){        //登入提交按鈕        ajax('post','guestbook/index.php',            'm=index&a=login&username='+encodeURI(oUsername2.value)+'&password='+oPassword2.value,            function(data){                var info=JSON.parse(data);                alert(info.message);                if(! info.code){                    updataUser();                }            });    };           oLogout.onclick=function(){  //退出提交按鈕            ajax('post','guestbook/index.php',                'm=index&a=logout',function(data){                var info=JSON.parse(data);                alert(info.message);                if(! info.code){                    updataUser();                }            });            return false;           }}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.