$G.setAjax=function(){
$.ajaxSetup({
global:true,
timeout:10000,
complete:function(XMLHttpRequest,textStatus){
var sessionstatus = XMLHttpRequest.getResponseHeader("sessionstatus");
var status = XMLHttpRequest.status;
var readyState = XMLHttpRequest.readyState;
if(readyState == 4 && status == 200) {
if(XMLHttpRequest.responseJSON) {
var r = XMLHttpRequest.responseJSON;
if(r.code == "4000") {
var dlg_id = "error_dlg";
var templet = "<div id=" + dlg_id + " style='display:block;width:100%;height:100%;position:fixed;left:0px;top:0px;z-index:999;background:rgba(200,200,200,0.7)'></div>";
if ($("#" + dlg_id).length < 1) {
$("body").append(templet);
}
$("#error_dlg").show();
templet = "<a id='close_error' href='javascript:void(0)' style='font-size:15pt;color:#ff0000;position:fixed;right:10px;top:20px;z-index:999;margin-left:-100px;margin-top:-15px'>关闭</a><div style='font-size:15pt;color:#ff0000;position:fixed;left:50%;top:50%;z-index:999;margin-left:-200px;margin-top:-15px;'>未登录<a id='_refresh' href='javascript:void(0)'>点此登录</a><div>";
$("#"+dlg_id).html(templet);
$("#_refresh").click(function(){
var path = top.location.href;
sessionStorage.setItem("web_url",path);
top.window.location="/hiadp-emp/user/login.htm";
});
$("#close_error").click(function(){
$("#error_dlg").hide();
});
return;
} else if(r.code == "4001") {
alert(r.message);
return;
}
}
}
else if(textStatus == 'timeout') {
var dlg_id = "error_dlg";
var templet = "<div id=" + dlg_id + " style='display:block;width:100%;height:100%;position:absolute;left:0px;top:0px;z-index:999;background:rgba(200,200,200,0.7);padding:auto'></div>";
if ($("#" + dlg_id).length < 1) {
$("body").append(templet);
}
$("#error_dlg").show();
templet = "<a id='close_error' href='javascript:void(0)' style='font-size:15pt;color:#ff0000;position:fixed;right:10px;top:20px;z-index:999;margin-left:-100px;margin-top:-15px'>关闭</a><div style='font-size:15pt;color:#ff0000;position:fixed;left:50%;top:50%;z-index:999;margin-left:-100px;margin-top:-15px'>网络请求超时<a id='_refresh' href='javascript:void(0)'>点此刷新</a></div>";
$("#"+dlg_id).html(templet);
$("#_refresh").click(function(){
location.reload();
});
$("#close_error").click(function(){
$("#error_dlg").hide();
});
return;
}
else {
var dlg_id = "error_dlg";
var templet = "<div id=" + dlg_id + " style='display:block;width:100%;height:100%;position:fixed;left:0px;top:0px;z-index:999;background:rgba(200,200,200,0.7)'></div>";
if ($("#" + dlg_id).length < 1) {
$("body").append(templet);
}
$("#error_dlg").show();
templet = "<a id='close_error' href='javascript:void(0)' style='font-size:15pt;color:#ff0000;position:fixed;right:10px;top:20px;z-index:999;margin-left:-100px;margin-top:-15px'>关闭</a><div style='font-size:15pt;color:#ff0000;position:fixed;left:50%;top:50%;z-index:999;margin-left:-200px;margin-top:-15px;'>请求失败,请检查服务器、数据库是否正常<a id='_refresh' href='javascript:void(0)'>点此刷新</a><div>";
$("#"+dlg_id).html(templet);
$("#_refresh").click(function(){
location.reload();
});
$("#close_error").click(function(){
$("#error_dlg").hide();
});
return;
}
}
})
}
在html中引入js。r.code是权限检查判断返给前台的异常信息。
使用方式:
$G.setAjax();
效果展示:
版权声明:本文为db_who_care原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。