加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

对ajax的js 封装

发布时间:2020-12-16 03:35:47 所属栏目:百科 来源:网络整理
导读:function ajaxSubmit(options) {options.async = options.async||true; if (!(options.url)) { alert("您没有设置提交的地址!"); return; } var vAjaxFlag="1"; if (options.updateId) { vAjaxFlag="2"; } var vUrl = options.url; var vParam; if (options
function ajaxSubmit(options) {
	options.async = options.async||true;
    if (!(options.url)) {
        alert("您没有设置提交的地址!");
        return;
    }
    var vAjaxFlag="1";
    if (options.updateId) {
    	vAjaxFlag="2";
    }
    var vUrl = options.url;
    var vParam;
    if (options.form) {
        vParam = $("#" + options.form).serialize();
    }
    if (options.params && !($.isEmptyObject(options.params))) {
        if (vParam && vParam.length) {
            vParam = vParam + "&" + $.param(options.params);
        } else {
            vParam = $.param(options.params);
        }
    }
    if (!(vParam)) {
        vParam = "rand=" + Math.random();
    }

    if (options.onBefore) {
        options.onBefore();
    }

    if (options.maskId) {
        var vMaskLabel = "正在执行操作,请稍候.....!";
        if (options.maskLabel) {
            vMaskLabel = options.maskLabel;
        }
        $("#" + options.maskId).mask(vMaskLabel);
    }
    
    $.ajax({
        type : 'POST',url : vUrl,data : vParam,beforeSend:function(XHR){XHR.setRequestHeader("HEcaAjax",vAjaxFlag);},success : function(data,textStatus) {
            if (options.maskId) {
                $("#" + options.maskId).unmask();
            }
            if (options.updateId) {
                $("#" + options.updateId).html(data);
            }
            if (options.onSuccess) {
                options.onSuccess(data,textStatus);
            }
        },error : function(res,textStatus,errorThrown) {
        	if (options.maskId) {
                $("#" + options.maskId).unmask();
            }           
            if (options.onError) {            	
                options.onError(res,errorThrown);
            }else if(res.status == 462){            	
    		if (options.maskId) {
    			$("#" + options.maskId).unmask();
    		}
    			
            }
        }
    });

    if (options.onAfter) {
        options.onAfter();
    }
}
前端以对象的方式调用。无须关注具体现实。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读