(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喲!'); } }); });
