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 相关文章推荐
幻灯片带网页设计中的20个奇妙应用示例小结
May 27 Javascript
js控制页面控件隐藏显示的两种方法介绍
Oct 09 Javascript
jQuery:delegate中select()不起作用的解决方法(实例讲解)
Jan 26 Javascript
编写简单的jQuery提示插件
Dec 21 Javascript
JS实现从顶部下拉显示的带动画QQ客服特效代码
Oct 24 Javascript
JavaScript函数柯里化详解
Apr 29 Javascript
EditPlus中的正则表达式 实战(4)
Dec 15 Javascript
vue2的todolist入门小项目的详细解析
May 11 Javascript
在vue中使用公共过滤器filter的方法
Jun 26 Javascript
javascript中call()、apply()的区别
Mar 21 Javascript
Vue v-model组件封装(类似弹窗组件)
Jan 08 Javascript
JavaScript实现点击出现子菜单效果
Feb 08 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
php disk_free_space 返回目录可用空间
2010/05/10 PHP
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
2014/08/25 PHP
php返回相对时间(如:20分钟前,3天前)的方法
2015/04/14 PHP
PHP中ltrim()函数的用法与实例讲解
2019/03/28 PHP
基于JavaScript 声明全局变量的三种方式详解
2013/05/07 Javascript
巧用js提交表单轻松解决一个页面有多个提交按钮
2013/11/17 Javascript
关于页面嵌入swf覆盖div层的问题的解决方法
2014/02/11 Javascript
javascript使用正则获取url上的某个参数
2014/09/04 Javascript
JS组件Bootstrap Table表格多行拖拽效果实现代码
2015/12/08 Javascript
jquery点击切换背景色的简单实例
2016/08/25 Javascript
利用js来实现缩略语列表、文献来源链接和快捷键列表
2016/12/16 Javascript
详解微信小程序开发之城市选择器 城市切换
2017/01/17 Javascript
Bootstrap的popover(弹出框)2秒后定时消失的实现代码
2017/02/27 Javascript
Bootstrap栅格系统的使用详解
2017/10/30 Javascript
js中null与空字符串&quot;&quot;的区别讲解
2019/01/17 Javascript
Vue.js 中的实用工具方法【推荐】
2019/07/04 Javascript
微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
2019/07/25 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
Python httplib模块使用实例
2015/04/11 Python
Python实现的下载网页源码功能示例
2017/06/13 Python
PyQt5每天必学之拖放事件
2020/08/27 Python
Django之全局使用request.user.username的实例详解
2020/05/14 Python
Python 实现微信自动回复的方法
2020/09/11 Python
Python 中如何使用 virtualenv 管理虚拟环境
2021/01/21 Python
解决python的空格和tab混淆而报错的问题
2021/02/26 Python
非常漂亮的CSS3百叶窗焦点图动画
2016/02/24 HTML / CSS
three.js模拟实现太阳系行星体系功能
2019/09/03 HTML / CSS
宝拉珍选官方旗舰店:2%水杨酸精华液,收缩毛孔粗大和祛痘
2018/07/01 全球购物
巴西购物网站:Estrela10
2018/12/13 全球购物
就业自荐信
2013/12/04 职场文书
护理专科毕业生自荐书范文
2014/02/19 职场文书
集体婚礼策划方案
2014/02/22 职场文书
工程安全生产协议书
2014/11/21 职场文书
暑假安全保证书
2015/02/28 职场文书
详解MySQL 用户权限管理
2021/04/20 MySQL
html中相对位置与绝对位置的具体使用
2022/05/15 HTML / CSS