对ajax的js 封装

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, textStatus, errorThrown);
            }else if(res.status == 462){            	
    		if (options.maskId) {
    			$("#" + options.maskId).unmask();
    		}
    			
            }
        }
    });

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值