帮助类封装
提示:这里是自己开发中所用的封装类
例如: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) {
}
});
总结
提示:这里对文章进行总结:
以上是自我使用总结。