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 相关文章推荐
js对数字的格式化使用说明
Jan 12 Javascript
JQuery表格内容过滤的实现方法
Jul 05 Javascript
js根据日期判断星座的示例代码
Jan 23 Javascript
javascript cookie用法基础教程(概念,设置,读取及删除)
Sep 20 Javascript
JavaScript面向对象精要(下部)
Sep 12 Javascript
vue自定义tap指令及tap事件的实现
Sep 18 Javascript
vue集成kindeditor富文本的实现示例代码
Jun 07 Javascript
Jquery 动态添加元素并添加点击事件实现过程解析
Oct 12 jQuery
Javascript幻灯片播放功能实现过程解析
May 07 Javascript
基于原生js实现判断元素是否有指定class名
Jul 11 Javascript
JS中作用域以及变量范围分析
Jul 18 Javascript
vue.js封装switch开关组件的操作
Oct 26 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
joomla内置的表单验证功能使用方法
2010/06/11 PHP
php中通过curl模拟登陆discuz论坛的实现代码
2012/02/16 PHP
PHP页面中文乱码分析
2013/10/29 PHP
php编写的简单页面跳转功能实现代码
2013/11/27 PHP
PHP的拦截器实例分析
2014/11/03 PHP
PHP实现获取客户端IP并获取IP信息
2015/03/17 PHP
php中注册器模式类用法实例分析
2015/11/03 PHP
PHP自动载入类文件函数__autoload的使用方法
2019/03/25 PHP
JS实现模仿微博发布效果实例代码
2013/12/16 Javascript
让浏览器DOM元素最后加载的js方法
2014/07/29 Javascript
使用javascript实现判断当前浏览器
2015/04/14 Javascript
jQuery实现textarea自动增长宽高的方法
2015/12/18 Javascript
jQuery中使用animate自定义动画的方法
2016/05/29 Javascript
Node.js的Web模板引擎ejs的入门使用教程
2016/06/06 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
2017/02/23 Javascript
基于node搭建服务器,写接口,调接口,跨域的实例
2018/05/13 Javascript
微信小程序实现的一键复制功能示例
2019/04/24 Javascript
浅谈监听单选框radio改变事件(和layui中单选按钮改变事件)
2019/09/10 Javascript
2019年度web前端面试题总结(主要为Vue面试题)
2020/01/12 Javascript
JavaScript实现点击切换功能
2021/01/27 Javascript
[04:19]完美世界携手游戏风云打造 卡尔工作室模型介绍篇
2013/04/24 DOTA
[09:31]2016国际邀请赛中国区预选赛Yao赛后采访 答题送礼
2016/06/27 DOTA
比较详细Python正则表达式操作指南(re使用)
2008/09/06 Python
python中split方法用法分析
2015/04/17 Python
python实现简单socket通信的方法
2016/04/19 Python
Python语言描述最大连续子序列和
2017/12/05 Python
解决python3读取Python2存储的pickle文件问题
2018/10/25 Python
Django使用Profile扩展User模块方式
2020/05/14 Python
Pycharm修改python路径过程图解
2020/05/22 Python
Europcar英国:英国汽车和货车租赁
2017/01/21 全球购物
摩托车和ATV零件、配件和服装的首选在线零售商:MotoSport
2017/12/22 全球购物
为什么要用EJB
2014/04/17 面试题
行政前台岗位职责
2013/12/04 职场文书
2014年学习全国道德模范事迹思想汇报
2014/09/15 职场文书
2014年客房服务员工作总结
2014/11/18 职场文书
迟到检讨书范文
2015/01/27 职场文书