记录日常使用的Helper文件

帮助类封装

提示:这里是自己开发中所用的封装类
例如:JSHelper封装 DBHelper封装 持续更新 (本人小白,不喜勿喷)


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

提示:Helper类封装,把日常使用的代码进行封装,避免重复书写相同的代码


提示:以下是本篇文章正文内容,下面案例可供参考

一、JSHelper是什么?

Jshelper 是自己把ajax进行封装 以及一起其他的数据验证,比如是否为字符串 是否为数字。

二、使用步骤

1.引入库

代码如下(示例):
首先引用原生jquery
其次引用自己创建的Jshelper.js文件,
可以放到母版页下面

<script src="~/Scripts/jquery-3.4.1.js"></script>
<script src="~/Scripts/jsHelper.js"></script>

2.创建jsHelper.js文件

代码如下(示例):

//BMCW.Common
(function ($) {
    "use strict";
    /**
		 * jsHelper 名称可以进行更改
		 * 如涉及到jsHelper更改,所有jsHelper都需要更改
	*/
    window.jsHelper = window.jsHelper || {}; 
    $.extend(jsHelper, {
        /**
		 * 版本号
		 * @type {Number}
		 */
        version: "3.3.1",
        /**
		 * 是否为函数
		 * @param  {*} fn 对象
		 * @return {Boolean}  是否函数
		 */
        isFunction: function (fn) {
            return typeof fn === "function";
        },
        /**
		 * 是否是数字或者数字字符串
		 * @param  {String}  value 数字字符串
		 * @return {Boolean}  是否是数字或者数字字符串
		 */
        isNumeric: function (value) {
            return !isNaN(parseFloat(value)) && isFinite(value);
        },
        /**
		 * 是否字符串
		 * @param {String} value
		 * @return {Boolean} 
		 */
        isString: function (value) {
            return typeof value === "string";
        },
        /**
		 * 是否数字
		 * @param {Number} value
		 * @return {Boolean} 
		 */
        isNumber: function (value) {
            return typeof value === "number";
        },
        /**
		 * 是否bool类型
		 * @param {Boolean} value
		 * @return {Boolean} 
		 */
        isBoolean: function (value) {
            return typeof value === "boolean";
        },
        /**
		 * 是否为空
		 * @param {Object} value
		 * @return {Boolean} 
		 */
        isNullOrEmpty: function (value) {
            if (value) {
                value = value.toString().replace(/(^\s*)|(\s*$)/g, "");
                if (value == "null" || value == "") {
                    return true;
                } else {
                    return false;
                }
            } else {
                if (value === 0 || value === false) {
                    return false;
                }
                return true;
            }
        },
        /**
        * 获取查询字符串变量
        */
        getQueryString: function (name) {
            var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
            var r = window.location.search.substr(1).match(reg);
            if (r != null) return decodeURIComponent(r[2]);
            return null;
        },
        /**
        * @description ajax请求
        * @param {object} option
        * @example
        * common.ajax({url:"www.baidu.com",type:"Get",success:function(){}});
        */
        ajax: function (option) {
            option.type = option.type || "GET";
            option.type = option.type.toUpperCase();
            if (option.type == "POST") {
                option.data = JSON.stringify(option.data);
            }
            var a = {
                url: option.url || "",
                type: option.type,
                async: option.async || true,
                data: option.data || {},
                dataType: option.dataType || "json",
                headers: option.headers || null,
                contentType: option.contentType || "application/json",
                timeout: option.timeout || null,
                beforeSend: option.beforeSend || null,
                complete: option.complete || function () { },
                success: option.success || null,
                error: option.error || null,
            }
            $.ajax(a);
        },
        /**
        * 获取表单内容 json格式
        */
        seariallizeJson: function (formid) {
            var obj = {};
            var fields = $(formid).serializeArray();
            jQuery.each(fields, function (i, fields) {
                if (obj[this.name]) {
                    /*
                    表单中可能有多个相同标签,比如有多个label,
                    那么你在json对象o中插入第一个label后,还要继续插入,
                    那么这时候o[label]在o中就已经存在,所以你要把o[label]做嵌套数组处理
                    */
                    //如果o[label]不是嵌套在数组中
                    if (!obj[this.name].push) {
                        obj[this.name] = [o[this.name]];  // 将o[label]初始为嵌套数组,如o={a,[a,b,c]}
                    }
                    obj[this.name].push(this.value || ''); // 将值插入o[label]
                } else {
                    obj[this.name] = this.value || '';  // 第一次在o中插入o[label]
                }
            });
            return obj;
        }
    });

})(jQuery);

3 使用Jshelper.js实例

				jsHelper.seariallizeJson(参数)//参数数据;
 				jsHelper.ajax({
                    url: url, //请求路径
                    data: data, //请求数据
                    type: "POST",//请求方式
                    success: function (rt) { 
                    }
                });

总结

提示:这里对文章进行总结:
以上是自我使用总结。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
自己封装的LocalStoreHelper.js,做页面存储的兄弟可以参考 var LocalStoreHelper = { CookieHelp: { //expire:分钟 SetCookie: function (cookiename, cookievalue, expire) { var today = new Date(); var expiredate = new Date(); expiredate.setTime(today + 60 * 1000 * expire); [removed] = cookiename + "=" + escape(cookievalue) + ";expires=" + expiredate.toGMTString(); }, GetCookie: function (cookiename) { if ([removed].length > 0) {  //先查询cookie是否为空,为空就return "" c_start = [removed].indexOf(cookiename + "=")  //通过String对象的indexOf()来检查这个cookie是否存在,不存在就为 -1   if (c_start != -1) { c_start = c_start + c_name.length + 1  //最后这个+1其实就是表示"="号啦,这样就获取到了cookie值的开始位置 c_end = [removed].indexOf(";", c_start)  //其实我刚看见indexOf()第二个参数的时候猛然有点晕,后来想起来表示指定的开始索引的位置...这句是为了得到值的结束位置。因为需要考虑是否是最后一项,所以通过";"号是否存在来判断 if (c_end == -1) c_end = [removed].length return unescape([removed].substring(c_start, c_end))  //通过substring()得到了值。想了解unescape()得先知道escape()是做什么的,都是很重要的基础,想了解的可以搜索下,在文章结尾处也会进行讲解cookie编码细节 } } return "" }, RemoveCookie: function (cookiename) { var exp = new Date(); exp.setTime(exp.getTime() - 1); var cval = getCookie(cookiename); if (cval != null) [removed] = cookiename + "=" + cval + ";expires=" + exp.toGMTString(); } }, LocalData: { SetItem: function (name, value) { if (window.localStorage) { localStorage.setItem(name, value); } else { LocalStoreHelper.CookieHelp.SetCookie(name, value, 30); } }, GetItem: function (name) { if (window.localStorage) { return localStorage.getItem(name); } else { return LocalStoreHelper.CookieHelp.GetCookie(name); } }, DelItem:function(name) { if (window.localStorage) { return localStorage.removeItem(name); } else { return LocalStoreHelper.CookieHelp.GetCookie(name); } } } }

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值