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