You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

86 lines
3.1 KiB
JavaScript

1 year ago
//全局变量备份原有的ajax方法
var _ajax_backup = null;
(function ($) {
//备份jquery的ajax方法
var _ajax = $.ajax;
_ajax_backup = $.ajax;
//重写jquery的ajax方法
$.ajax = function (options) {
var defaults = {
type: "GET",//请求方式
url: "",
data: {},
datatype: "json", //返回数据类型,
async: true, //异步
error: function (XMLHttpRequest, textStatus, errorThrown) { },
success: function (data, textStatus) { },
complete: function (XMLHttpRequest, textStatus) { },
myComplete: function (data, textStatus) { },
}
//将默认参数与自定义参数合并
var opt = {};
opt = $.extend({}, defaults, options || {});
//扩展增强处理
var _opt = $.extend(true, {}, opt);
_opt.success = function (data, textStatus) {
if (data.IsSuccess) {
//成功
if (data.Url != null && data.Url != "") {
location.href = data.Url;
return;
}
for (var o in data.Data) {
if (typeof (data.Data[o]) == "string") {
data.Data[o] = htmlDecode(data.Data[o]);
}
}
opt.success(data.Data, textStatus);
} else {
//如果页面已经有了错误框,则不再弹出新的错误
var flag = $("#popMsg").css("display") == "block";
if (!flag) {
if (data.Url != null && data.Url != "") {
var msg = msgList[data.ErrorCode];
if (msg == null || msg == "" || msg == undefined) {
msg = data.ErrorCode;
}
dialogHelper.Error({
content: msg,
success: function () {
location.href = data.Url;
},
cancle: function () {
location.href = data.Url;
}
});
return;
} else {
var msg = msgList[data.ErrorCode];
if (msg == null || msg == "" || msg == undefined) {
msg = data.ErrorCode;
}
dialogHelper.Error({ content: msg });
return;
}
}
}
if (opt.myComplete != undefined && typeof (opt.myComplete) == "function") {
opt.myComplete();
}
};
_opt.complete = function (XMLHttpRequest, textStatus) {
if (typeof (opt.complete) == "function") {
opt.complete();
}
$(".background,.progressBar").hide();
};
$(".background,.progressBar").show();
_ajax(_opt);
};
})(jQuery);