(function ($) { //1.得到$.ajax的对象 var _ajax = $.ajax; $.ajax = function (options) { //2.每次调用发送ajax请求的时候定义默认的error处理方法 var fn = { error: function (XMLHttpRequest, textStatus, errorThrown){ alert('请求出错!!!'); } }; //3.如果在调用的时候写了error的处理方法,就不用默认的 if (options.error){ fn.error = options.error; } //4.扩展原生的$.ajax方法,返回最新的参数 var _options = $.extend(options, { error: function (XMLHttpRequest, textStatus, errorThrown) { fn.error(XMLHttpRequest, textStatus, errorThrown); } }); //5.将最新的参数传回ajax对象 _ajax(_options); }; })(jQuery);
下面是调用方法:跟原来的没有任何区别
$(function(){ //初始化操作权限 $.ajax({ url:"/api/v1/Company/nitialize", //请求的url地址 dataType: "json", async: false, type: "GET", success: function(reg) { if(reg.code==0){ } } }); });
如果你在调用的时候定义了error方法:会调用定义的error:
$(function(){ //初始化操作权限 $.ajax({ url:"/api/v1/Company/nitialize", //请求的url地址 dataType: "json", async: false, type: "GET", success: function(reg) { if(reg.code==0){ } }, error:function(){ alert('我会覆盖,默认定义的error哟!'); } }); });