ajax 全局异常提示处理

$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 = "
"; if ($("#" + dlg_id).length < 1) { $("body").append(templet); } $("#error_dlg").show(); templet = "关闭
未登录点此登录
"; $("#"+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 = "
"; if ($("#" + dlg_id).length < 1) { $("body").append(templet); } $("#error_dlg").show(); templet = "关闭
网络请求超时点此刷新
"; $("#"+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 = "
"; if ($("#" + dlg_id).length < 1) { $("body").append(templet); } $("#error_dlg").show(); templet = "关闭
请求失败,请检查服务器、数据库是否正常点此刷新
"; $("#"+dlg_id).html(templet); $("#_refresh").click(function(){ location.reload(); }); $("#close_error").click(function(){ $("#error_dlg").hide(); }); return; } } }) }

在html中引入js。r.code是权限检查判断返给前台的异常信息。

使用方式:

$G.setAjax();

效果展示:

ajax 全局异常提示处理_第1张图片

你可能感兴趣的:(jquery,ajax)