jQuery基于ajax实现页面加载后检查用户登录状态的方法


Posted in Javascript onFebruary 10, 2017

本文实例讲述了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 相关文章推荐
ajax无刷新动态调用股票信息(改良版)
Nov 01 Javascript
js实现jquery的offset()方法实例
Jan 10 Javascript
JS实现下拉菜单赋值到文本框的方法
Aug 18 Javascript
浅谈JavaScript的push(),pop(),concat()方法
Jun 03 Javascript
微信小程序 缓存(本地缓存、异步缓存、同步缓存)详解
Jan 17 Javascript
使用AngularJS2中的指令实现按钮的切换效果
Mar 27 Javascript
webpack3之loader全解析
Oct 26 Javascript
vue中子组件的methods中获取到props中的值方法
Aug 27 Javascript
angularJs自定义过滤器实现手机号信息隐藏的方法
Oct 08 Javascript
微信小程序用户授权,以及判断登录是否过期的方法
May 10 Javascript
Vue中axios的封装(报错、鉴权、跳转、拦截、提示)
Aug 20 Javascript
关于JavaScript回调函数的深入理解
Jun 27 Javascript
javascript自执行函数
Feb 10 #Javascript
完美解决jQuery的hover事件在IE中不停闪动的问题
Feb 10 #Javascript
jquery hover 不停闪动问题的解决方法(亦为stop()的使用)
Feb 10 #Javascript
JS验证不重复验证码
Feb 10 #Javascript
使用jquery给新生的th绑定hover事件的实例
Feb 10 #Javascript
详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
Feb 10 #Javascript
jQuery移除或禁用html元素点击事件常用方法小结
Feb 10 #Javascript
You might like
环境会对咖啡种植有什么影响
2021/03/03 咖啡文化
图书管理程序(一)
2006/10/09 PHP
PHP全概率运算函数(优化版) Webgame开发必备
2011/07/04 PHP
php流量统计功能的实现代码
2012/09/29 PHP
php实现通用的信用卡验证类
2015/03/24 PHP
PHP创建文件,并向文件中写入数据,覆盖,追加的实现代码
2016/03/25 PHP
详解PHP的Yii框架中的Controller控制器
2016/03/29 PHP
PHP开发制作一个简单的活动日程表Calendar
2016/06/20 PHP
详解Yii2.0 rules验证规则集合
2017/03/21 PHP
使用tp框架和SQL语句查询数据表中的某字段包含某值
2019/10/18 PHP
jQuery创建插件的代码分析
2011/04/14 Javascript
extjs4 treepanel动态改变行高度示例
2013/12/17 Javascript
jQuery晃动层特效实现方法
2015/03/09 Javascript
浅析javascript函数表达式
2016/02/10 Javascript
js实现类bootstrap模态框动画
2017/02/07 Javascript
详解Vue中添加过渡效果
2017/03/20 Javascript
ionic实现下拉刷新载入数据功能
2017/05/11 Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
2018/02/22 Javascript
vue.js计算属性computed用法实例分析
2018/07/06 Javascript
ES2020 新特性(种草)
2020/01/12 Javascript
Openlayers实现地图的基本操作
2020/09/28 Javascript
Python理解递归的方法总结
2019/01/28 Python
使用Python实现将list中的每一项的首字母大写
2019/06/11 Python
关于python导入模块import与常见的模块详解
2019/08/28 Python
python实现文件批量编码转换及注意事项
2019/10/14 Python
PYTHON实现SIGN签名的过程解析
2019/10/28 Python
pyqt5中动画的使用详解
2020/04/01 Python
Python是什么 Python的用处
2020/05/26 Python
西班牙Polo衫品牌:Polo Club
2020/08/09 全球购物
中青班党性分析材料
2014/02/16 职场文书
法制宣传实施方案
2014/03/13 职场文书
《苏珊的帽子》教学反思
2014/04/07 职场文书
化学专业大学生职业生涯规划范文
2014/09/13 职场文书
拯救大兵瑞恩观后感
2015/06/09 职场文书
利用python做数据拟合详情
2021/11/17 Python
SpringBoot+Redis实现布隆过滤器的示例代码
2022/03/17 Java/Android