$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 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/db_who_care/article/details/82924605