zoukankan      html  css  js  c++  java
  • 十二、存token获取token刷新token发送header头

    //测试token

    //获取token

    function setToken(data){

        var storage = window.localStorage;

        if(!storage){

            alert("浏览器不支持localstorage");

            return false;

        }

        var token = data.access_token;

        storage.setItem("user_token", token);

        storage.setItem("user_login_time", new Date().getTime());//保存登录时间

    }

    function getToken()

    {

        var storage = window.localStorage;

        var current = new Date().getTime();//拿token的时间

        var token = storage.user_token;//token的值

        var old_time = storage.user_login_time;//登录的时间

        var time = (current - old_time) /1000;//时间差

        var out_time = 3600;// 超时设置

        var parse_time = 24 * 60 * 60;// 刷新设置

       //手动清除缓存
       var length = window.localStorage.length;
       if(length==0){ 
    window.location.href = "login.html"
    }

        //超时

        if(parse_time > time && time >= out_time) {

            refreshToken(token);

        }

        //1天过期 重新登录

        if(time >= parse_time) {

            window.location.href = "login.html";

        }

        return token;

    }

    function headerSetup(token)

    {

        $.ajaxSetup({

            'headers':{

                'Authorization': 'Bearer '+ token,

            }

        });

    }

    //刷新token

    function refreshToken(token)

    {

          if(window.localStorage.length==0){

               window.localStorage.clear();

               window.location.href = "login.html";

          }

        $.ajaxSetup({

            'headers': {

                'Authorization': 'Bearer ' + token,

            }

        });

        $.ajax({

            url:"http://ezist.cn/api/authorizations/current",

            type:'post',

            dataType: "json",

            data: {},

            success: function(data) {

                setToken(data);

            },

            error: function (data) {

                console.log("数据请求失败");

                window.location.href='login.html';

            }

        });

    }

  • 相关阅读:
    JS—ajax及async和defer的区别
    js-cookie和session
    h5小功能_classList和自定义属性data
    html5-attr和prop
    人工智能与金融
    IBM的人工智能“沃森”首次确诊罕见白血病,只用了10分钟!
    终极复制 人工智能将如何推动社会巨变
    对人工智能问题的提问
    人工智能预测精神病
    人工智能代替工人
  • 原文地址:https://www.cnblogs.com/deng-jie/p/9104301.html
Copyright © 2011-2022 走看看