ajax请求封装,以及异常封装
发布时间:2020-12-16 01:59:44 所属栏目:百科 来源:网络整理
导读:var __ajaxcount = 0;var __topwin = window.top;var __$jq = __topwin.$;var __istop = (window == window.top);//全局 loading提示$(document).ajaxStart(function() { __topwin.__startajax();});$(document).ajaxStop(function(){ __topwin.__stopajax()
var __ajaxcount = 0; var __topwin = window.top; var __$jq = __topwin.$; var __istop = (window == window.top); //全局 loading提示 $(document).ajaxStart(function() { __topwin.__startajax(); }); $(document).ajaxStop(function(){ __topwin.__stopajax(); }); $(window).error(function(){ if(jQuery.active>0){ jQuery.active --; } __topwin.__stopajax(); }); function __startajax(){ __topwin.__ajaxcount ++; __$jq("#apploading").css('display','block'); } function __stopajax(){ __topwin.__ajaxcount --; if(__topwin.__ajaxcount <= 0){ __topwin.__ajaxcount = 0; __$jq("#apploading").css('display','none'); } } //错误处理 $(document).ajaxError(function( event,jqxhr,settings,thrownError ) { __topwin.__stopajax(); if(__topwin.__errormsg)return; var msgwin = null; /*if(jqxhr.status == 0){ __topwin.__errormsg = true; msgwin = __$jq.messager.alert('系统提示',"与服务器连接已经断开!",'warning',function(){ __topwin.__errormsg = false; }); //return; }*/ if(jqxhr.status == 403){ __topwin.__errormsg = true; msgwin = __$jq.messager.alert('系统提示',"无法访问,用户权限不足!",function(){ __topwin.__errormsg = false; }); //return; } if(jqxhr.status == 404){ __topwin.__errormsg = true; var url = (arguments[2] ? arguments[2].url : ""); msgwin = __$jq.messager.alert('系统提示',"访问的资源无效,url:"+url,function(){ __topwin.__errormsg = false; }); //return; } if(jqxhr.status == 10000){ __topwin.__errormsg = true; msgwin = __$jq.messager.alert('系统提示',"登陆状态过期,请重新登陆!",function(){ __topwin.__errormsg = false; __topwin.location = "login"; }); //return; } if(jqxhr.status == 500){ try{ var msg = $.parseJSON(jqxhr.responseText); if(msg.msgtype == 1){ __topwin.__errormsg = true; msgwin = __$jq.messager.alert('系统提示',msg.msg,function(){ __topwin.__errormsg = false; }); }else{ __topwin.__errormsg = true; msgwin = __$jq.messager.alert('系统提示','info',function(){ __topwin.__errormsg = false; }); } //return; }catch(ex){} } if(msgwin){ var op = msgwin.window("options"); op._close = op.onClose; op.onClose = function(){ __topwin.__errormsg = false; op._close(); }; } }); var app={}; if(__appconfig){$.extend(app,__appconfig);} app.$ = $; /** * 系统中ajax调用此方法,封装头部信息和记录系统ajax状态 * * @param args */ app.ajax = function(args) { //默认参数 var op ={ beforeSend: function (xhr) { //if() /*xhr.setRequestHeader('menuid',menuid); xhr.setRequestHeader('instanceid',instanceid); xhr.setRequestHeader('moduleid',moduleid);*/ },contentType: "application/json;charset=utf-8",type: "POST",dataType: "json",async: true,cache: false }; $.extend(op,args); if(op.type == "POST" && op.dataType == "json" && op.data) op.data= JSON.stringify(op.data); return $.ajax(op); }; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |