常用方法函数封装

//格式化日期
function dateFtt(fmt, date) {
    var o = {
        "M+": date.getMonth() + 1, //月份
        "d+": date.getDate(), //日
        "h+": date.getHours(), //小时
        "m+": date.getMinutes(), //分
        "s+": date.getSeconds(), //秒
        "q+": Math.floor((date.getMonth() + 3) / 3), //季度
        S: date.getMilliseconds(), //毫秒
    };
    if (/(y+)/.test(fmt))
        fmt = fmt.replace(
            RegExp.$1,
            (date.getFullYear() + "").substr(4 - RegExp.$1.length)
        );
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt))
            fmt = fmt.replace(
                RegExp.$1,
                RegExp.$1.length == 1 ?
                    o[k] :
                    ("00" + o[k]).substr(("" + o[k]).length)
            );
    return fmt;
}

//创建时间格式化显示
function formateDate() {
    var crtTime = new Date(); //当前时间
    // return dateFtt("yyyy-MM-dd hh:mm:ss", crtTime);
    // return dateFtt("yyyy年MM月dd日 hh:mm:ss", crtTime);  
    // return dateFtt("yyyy/MM/dd hh:mm:ss", crtTime);  
    return dateFtt("yyyy年MM月dd日 hh:mm:ss", crtTime);
}

// 随机颜色
function suijise() {
    function rundon(a, b) {
        var d = Math.max(a, b)
        var x = Math.min(a, b)
        return Math.floor(Math.random() * (d - x) + x)
    }
    var r = rundon(0, 255)
    var g = rundon(0, 255)
    var b = rundon(0, 255)
    return `rgb(${r},${g},${b})`
}


//兼容性写法,获取滚动距离  0->  false  
function getScrollTop() {
    if (document.documentElement.scrollTop) {
        return document.documentElement.scrollTop
    } else {
        return document.body.scrollTop
    }

    // return document.body.scrollTop || document.documentElement.scrollTop
}

// 生成一个任意范围内的随机整数
function getRandomNum(a, b) {
    if (a > b) {
        return parseInt(Math.random() * (a - b + 1)) + b
    }
    return parseInt(Math.random() * (b - a + 1)) + a
}

//ajax封装
//封装ajax工具函数   
//调用方式
// ajax({
//     method: 'get',
//     url: 'http://10.7.176.87:8088/api/list',
//     data: {
//         uesrname: 'admin',
//         password: 123
//     },
//     success: function (data) {
//         // 处理成功  data为返回的数据
//     },
//     error: function (error) {
//         //处理失败
//     }
// })

function ajax(options) {
    // 创建XMLHttpRequest对象
    const xhr = new window.XMLHttpRequest
    // 处理参数,将对象参数转成名称值对形式
    // options.data    //转成username ='admin'
    let parame = formateParame(options.data)
    //判断请求方式
    let method = options.method.toUpperCase()
    if (method == 'GET') {
        xhr.open(method, options.url + '?' + parame)
        xhr.send()
    } else if (method == 'POST') {
        xhr.open(method, options.url)//建立链接
        xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded')
        xhr.send(parame)//发送请求
    }
    xhr.onreadystatechange = function () {
        //4.1判断响应是否完成
        if (xhr.readyState == 4) {
            //4.2是否成功响应
            if (xhr.status == 200) {
                let result = xhr.responseText
                let data = JSON.parse(result)
                //调用处理成功的回调函数success
                options.success(data)
            } else {
                options.error(xhr)
            }
        }
    }
}
//ajax拼接请求的参数
function formateParame(obj) {
    let arr = []
    for (let key in obj) {
        let itme = `${key}=${obj[key]}`
        arr.push(itme)
    }
    let str = arr.join('&')
    return str
}

//获取url地址栏的数据
function splitStrToObject(url) {
    var s = url.indexOf('?')
    var xin = url.substring(s + 1)
    xin = xin.split('&')
    var obj = {}
    xin.forEach(function (zhi) {
        var k = zhi.split('=')
        obj[k[0]] = k[1]
    });
    return obj
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值