您好,登錄后才能下訂單哦!
這篇文章主要介紹jQuery基于ajax如何實現頁面加載后檢查用戶登錄狀態,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
本文實例講述了jQuery基于ajax實現頁面加載后檢查用戶登錄狀態的方法。分享給大家供大家參考,具體如下:
擁有會員功能的網站,如果會員已經登錄,那么要顯示相應的登錄狀態,而且這種顯示的需求是在網站的每個頁面都有的(目前國內網站貌似都是這么做的,還沒有見過其他形式的狀態顯示方式),這樣,在打開一個新的頁面時就要知道這個會員是否已經登錄,需要判斷登錄的狀態。
1、解決方案。
為了能夠實現在每一個頁面判斷會員登錄狀態的功能,我采用了頁面時通過ajax傳遞參數通過后端返回的登錄狀態結果進行判斷,當然,這種方式實現的前提是登錄狀態在后端可以保持或者能夠查詢到并且不利用頁面向后端發送特別參數。
2、代碼部分。
(1)html部分
<div id="state_content"></div>
(2)jquery部分
jQuery(document).ready(function () { getUserData(); }); function getUserData() { var Option = { url: encodeURI('/Handler/AuthAccounts.ashx?action=getloginstate'), type: "post", dataType: 'text', cache: false, //設置為 false 將不會從瀏覽器緩存中加載請求信息。 async: true, //(默認: true),所有請求均為異步請求。發送同步請求,請將此選項設置為 false。同步請求將鎖住瀏覽器,用戶其它操作必須等待請求完成才可以執行。 timeout: 150000, //設置請求超時時間(毫秒)。此設置將覆蓋全局設置。 error: function () { }, success: function (data, textStatus) { if (data == null || data == undefined) { return false; } jsondata = eval('(' + data + ')'); if (jsondata.state == "success") { var weburl = '<a class="username">歡迎你,' + jsondata.message.split('|')[1] + '</a><a class="go_out" onclick="ExitLoginState()">退出</a>'; $("#state_content").html(weburl); //內容 } else { var textList = '<a href="/Login/index.shtml" rel="external nofollow" rel="external nofollow" >【登錄】</a><a href="/Register/index.shtml" rel="external nofollow" rel="external nofollow" >【注冊】</a>'; $("#state_content").html(textList); //內容 } }, beforeSend: function () { } }; jQuery.ajax(Option); return false; } function ExitLoginState() { var Option = { url: encodeURI('/Handler/AuthAccounts.ashx?action=exitloginstate'), type: "post", dataType: 'text', cache: false, //設置為 false 將不會從瀏覽器緩存中加載請求信息。 async: true, //(默認: true),所有請求均為異步請求。發送同步請求,請將此選項設置為 false。同步請求將鎖住瀏覽器,用戶其它操作必須等待請求完成才可以執行。 timeout: 150000, //設置請求超時時間(毫秒)。此設置將覆蓋全局設置。 error: function () { }, success: function (data, textStatus) { if (data == null || data == undefined) { return false; } jsondata = eval('(' + data + ')'); if (jsondata.state == "success") { alert("已經退出"); var textList = '<a href="/Login/index.shtml" rel="external nofollow" rel="external nofollow" >【登錄】</a><a href="/Register/index.shtml" rel="external nofollow" rel="external nofollow" >【注冊】</a>'; $("#state_content").html(textList); //內容 } }, beforeSend: function () { } }; jQuery.ajax(Option); return false; }
jquery是一個簡潔而快速的JavaScript庫,它具有獨特的鏈式語法和短小清晰的多功能接口、高效靈活的css選擇器,并且可對CSS選擇器進行擴展、擁有便捷的插件擴展機制和豐富的插件,是繼Prototype之后又一個優秀的JavaScript代碼庫,能夠用于簡化事件處理、HTML文檔遍歷、Ajax交互和動畫,以便快速開發網站。
以上是“jQuery基于ajax如何實現頁面加載后檢查用戶登錄狀態”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。