前端之家收集整理的这篇文章主要介绍了
对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,errorThrown);
}else if(res.status == 462){
if (options.maskId) {
$("#" + options.maskId).unmask();
}
}
}
});
if (options.onAfter) {
options.onAfter();
}
}
前端以对象的方式
调用。无须关注具体现实。