项目描述:

根据页面载入时的时间和当前执行操作时的时间判断,如果页面已超过10分钟,那么要重新获取新令牌。实际就是日期相减得到秒数,这个秒数要小于10分钟即600秒,超过了重新获取令牌

js用到的函数 Math.ceil:向上取整,

风.fox

//当前日期时间
function getNowFormatDate() {
    var date = new Date();
    var seperator1 = "-";
    var seperator2 = ":";
    var month = date.getMonth() + 1;
    var strDate = date.getDate();
    if (month >= 1 && month <= 9) {
        month = "0" + month;
    }
    if (strDate >= 0 && strDate <= 9) {
        strDate = "0" + strDate;
    }
    var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
    + " " + date.getHours() + seperator2 + date.getMinutes()
    + seperator2 + date.getSeconds();
    return currentdate;
}
//日期相减得到秒数
function sec(da1,da2){
    var d1=new Date(da1);
    var d2=new Date(da2);
    return Math.ceil((d2-d1)/1000);
}
var TOKEN='';
//载入时时间
var TIME=getNowFormatDate();
function getToken() {
    //当前 令牌是否超时 10分钟
    if(sec(TIME,getNowFormatDate())<(60*10)||TOKEN==''){
        $.ajax({
                url: "/TokenUrl",
                async: false,
                success: function (token) {
                    console.log(token);
                    if (token.status == 'y') {
                        TOKEN=token.token;
                        return TOKEN;
                    }else{
                        console.log("令牌获取错误,错误信息:", token.info);
                        alert("令牌获取错误,错误信息:" + token.info);
                        return false;
                    }
                }
            });
    }
    return TOKEN;
}

使用

var token =getToken();//令牌

参考 http://www.cnblogs.com/hanwenhua/articles/3853352.html

http://bbs.csdn.net/topics/390917599

 Tags : js

Donate:| 文章有帮助,可以 请我喝杯咖啡

Powered by foxwho.com