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 相关文章推荐
HTML-CSS群中单选引发的“事件”
Mar 05 Javascript
javascript 获取表单file全路径
Dec 31 Javascript
Json对象与Json字符串互转(4种转换方式)
Mar 27 Javascript
Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码
Apr 26 Javascript
禁用键盘上的(全局)指定键兼容iE、Chrome、火狐
May 14 Javascript
jquery单行文字向上滚动效果示例
Mar 06 Javascript
JavaScript搜索字符串并将搜索结果返回到字符串的方法
Apr 06 Javascript
js行号显示的文本框实现效果(兼容多种浏览器 )
Oct 23 Javascript
node.js实现复制文本到剪切板的功能
Jan 23 Javascript
单击按钮发送验证码,出现倒计时的简单实例
Mar 17 Javascript
React 使用recharts实现散点地图的示例代码
Dec 07 Javascript
JavaScript位置参数实现原理及过程解析
Sep 14 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
jQuery+Ajax+PHP“喜欢”评级功能实现代码
2015/10/08 PHP
10个对初学者非常有用的PHP技巧
2016/04/06 PHP
PHPExcel笔记, mpdf导出
2016/05/03 PHP
magento后台无法登录解决办法的两种方法
2016/12/09 PHP
PHP中类的自动加载的方法
2017/03/17 PHP
PHP设计模式(三)建造者模式Builder实例详解【创建型】
2020/05/02 PHP
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
JavaScript 高级语法介绍
2009/06/15 Javascript
JS上传前预览图片实例
2013/03/25 Javascript
Javascript中call与apply的学习笔记
2014/09/22 Javascript
jQuery实现带延迟效果的滑动菜单代码
2015/09/02 Javascript
模仿password输入框的实现代码
2016/06/07 Javascript
详解JS去重及字符串奇数位小写转大写
2016/12/29 Javascript
简单实现js无缝滚动效果
2017/02/05 Javascript
从零学习node.js之详解异步控制工具async(八)
2017/02/27 Javascript
jQuery实现简单的计时器功能实例分析
2017/08/29 jQuery
微信小程序实现给嵌套template模板传递数据的方式总结
2017/12/18 Javascript
你应该了解的JavaScript Array.map()五种用途小结
2018/11/14 Javascript
手把手教你实现 Promise的使用方法
2020/09/02 Javascript
[02:24]DOTA2亚洲邀请赛 NAVI战队出场宣传片
2015/02/07 DOTA
[01:14]DOTA2亚洲邀请赛小组赛赛前花絮
2017/03/27 DOTA
利用一个简单的例子窥探CPython内核的运行机制
2015/03/30 Python
python实现根据指定字符截取对应的行的内容方法
2018/10/23 Python
pandas分别写入excel的不同sheet方法
2018/12/11 Python
解析PyCharm Python运行权限问题
2020/01/08 Python
Python中itertools的用法详解
2020/02/07 Python
BRASTY捷克:购买香水、化妆品、手袋和手表
2017/07/12 全球购物
东芝官网商城:还原日式美学,打造美好生活
2018/12/27 全球购物
毕业设计计划书
2014/01/09 职场文书
烹调加工管理制度
2014/02/04 职场文书
集体备课反思
2014/02/12 职场文书
家居装修公司创业计划书范文
2014/03/20 职场文书
2015年大学宣传部工作总结
2015/05/26 职场文书
房地产置业顾问工作总结
2015/10/23 职场文书
银行文明优质服务培训心得体会
2016/01/09 职场文书
JavaScript实现外溢动态爱心的效果的示例代码
2022/03/21 Javascript