您的位置:首页 > Web前端 > JavaScript

对ajax的js 封装

2016-11-25 15:15 260 查看
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();
}
}
前端以对象的方式调用。无须关注具体现实。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js ajax 封装