ajax统一封装例子

/*统一ajax请求接口封装
 * 创建人zhoulei  时间:2019年9月2日17:26:40
 * type请求类型 post || get
 * url请求地址,必传项
 * param请求的参数,默认传对象的形式
 * isAsync是否异步加载
 * isShowLoader是否显示加载动画
 * dataType请求参数类型,默认json形式
 * callBack请求成功的回调函数,必传项
 * 
 */
Tools.ajaxRequest = function (opts) {
    var type = opts.type || "get";
    var url = opts.url;
    var param = opts.param || {};
    var isShowLoader = opts.isShowLoader || false;
    var isAsync = opts.async === false ? false : true;
    var dataType = opts.dataType || "json";
    var contentType = opts.contentType || "application/x-www-form-urlencoded;charset=utf-8";
    var callBack = opts.callBack;
    var completeBack = opts.completeBack;
    $.ajax({
        type: type,
        url: url,
        data: param,
        async: isAsync,
        dataType: dataType,
        contentType: contentType,
        beforeSend: showLoader(),
        complete: complete(),
        success: function (res) {
            if (res != null && res != "") {
                var resultTips = respTips(res);
                if (resultTips.isOk) {
                    if (callBack) {
                        if (Object.prototype.toString.call(callBack) === "[object Function]") { //Object.prototype.toString.call方法--精确判断对象的类型
                            callBack(res);
                        } else {
                            console.log("callBack is not a function");
                        }
                    }
                } else {
                    new Tools.popUp({
                        title: '提示信息',
                        messTxt: resultTips.msg || "系统错误!",
                        iconType: 'tipIcon',
                        isSingleBtn: true,
                        suffix: 'd',
                        closeCallBack: function (closeEvent) {
                            closeEvent();
                        }
                    });
                }
            }else{
                new Tools.popUp({
                    title: '提示信息',
                    messTxt: "系统报错!",
                    iconType: 'tipIcon',
                    isSingleBtn: true,
                    suffix: 'd',
                    closeCallBack: function (closeEvent) {
                        closeEvent();
                    }
                });
            }
        },
        error: function (err) {
            new Tools.popUp({
                title: '提示信息',
                messTxt: "系统报错!",
                iconType: 'tipIcon',
                isSingleBtn: true,
                suffix: 'd',
                closeCallBack: function (closeEvent) {
                    closeEvent();
                }
            });
        }
    });
    //隐藏loader
    function complete() {
        if (completeBack) {
            if (Object.prototype.toString.call(completeBack) === "[object Function]") { //Object.prototype.toString.call方法--精确判断对象的类型
                completeBack();
            } else {
                console.log("completeBack is not a function");
            }
        }
    }

    function showLoader() {
        if (isShowLoader) {
            var loader = '<div class="ajaxLoader"><div class="loader">加载中...</div></div>';
            $("body").append(loader);
        }
    }

    function respTips(res) {
        var result = {};
        switch (res.status_code) {
            case "1000":
                result = {
                    isOk: true,
                    msg: "操作成功!"
                }
                break;
            case "1011":
                result = {
                    isOk: false,
                    msg: "必选参数为空!"
                }
                break;
            case "1012":
                result = {
                    isOk: false,
                    msg: "操作参数校验异常!"
                }
                break;
            case "1021":
                result = {
                    isOk: false,
                    msg: "加载失败!"
                }
                break;
            case "1022":
                result = {
                    isOk: false,
                    msg: "保存失败!"
                }
                break;
            case "1024":
                result = {
                    isOk: false,
                    msg: "删除失败!"
                }
                break;
        }
        return result;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高彩琼

你的鼓励是我创作得最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值