1. 程式人生 > >重寫 jquery ajax方法

重寫 jquery ajax方法

(function($){   
   //備份jquery的ajax方法   
   var _ajax=$.ajax;   
      
   //重寫jquery的ajax方法   
   $.ajax=function(opt){   
       //備份opt中error和success方法   
       var fn = {   
           error:function(XMLHttpRequest, textStatus, errorThrown){},   
            success:function(data, textStatus){}   
        }   
        if(opt.error){   
            fn.error=opt.error;   
        }   
        if(opt.success){   
            fn.success=opt.success;   
        }   
           
        //擴充套件增強處理   
        var _opt = $.extend(opt,{   
            error:function(XMLHttpRequest, textStatus, errorThrown){   
                //錯誤方法增強處理   
            	if (layer) {
            		layer.msg("出錯了,請聯絡管理員!", 2, 3, null, true);
            	} else {
            		alert("出錯了,請聯絡管理員!");
            	}
                fn.error(XMLHttpRequest, textStatus, errorThrown);   
            },   
            success:function(data, textStatus){   
                //成功回撥方法增強處理   
                var error = data.error;
            	if (error != undefined && error == true) {
            		if (layer) {
            			layer.msg(data.reason, 2, 3, null, true);
            		} else {
            			alert(data.reason);
            		}
					return;
				}
                fn.success(data, textStatus);   
            }   
        });   
        _ajax(_opt);   
    };   
})(jQuery);