一个兢兢业业、无微不至的保姆。你用自己的一只手——雪,把那青绿的麦苗爱抚地搂在怀里,给他以温暖和关怀。麦苗在那层层棉被下静静地期待,期待着来春生长发育。蛇、鳝、熊等等,有的钻进了深泥,有的藏入树洞,休息一冬,养精蓄锐,方有新春来到时的精神振奋。你用自己的另一只手――寒风,举刀挥剑,把那些残害农作物的害虫,砍光杀尽,把那些残害人类、牲畜的虎豹豺豺狼驱赶进深山老林。冬呵!你严守阵地,不容侵犯;你,是一位最负责任的对友火热温情,对敌残忍无情的好保姆。
本文实例讲述了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 rel="nofollow noopener noreferrer" href="/Login/index.shtml" rel="external nofollow" rel="external nofollow" >【登录】</a><a rel="nofollow noopener noreferrer" 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 rel="nofollow noopener noreferrer" href="/Login/index.shtml" rel="external nofollow" rel="external nofollow" >【登录】</a><a rel="nofollow noopener noreferrer" href="/Register/index.shtml" rel="external nofollow" rel="external nofollow" >【注册】</a>';
$("#state_content").html(textList); //内容
}
},
beforeSend: function ()
{
}
};
jQuery.ajax(Option);
return false;
}
希望本文所述对大家jQuery程序设计有所帮助。
到此这篇关于jQuery基于ajax实现页面加载后检查用户登录状态的方法就介绍到这了。每个人都想和别人不一样,结果是每个人都一样。更多相关jQuery基于ajax实现页面加载后检查用户登录状态的方法内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!