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.

88 lines
3.1 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

//全局变量备份原有的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);