$.ajax封装,统一处理业务逻辑
(function($){ var _ajax = $.ajax; $.ajax = function(opt){ 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){ fn.error(XMLHttpRequest, textStatus, errorThrown); }, success:function(data, textStatus){ var api_pathname = apiUrlParse(opt.url); if(data.response && 某种条件){ // 需要处理的逻辑 }else{ fn.success(data, textStatus); } } }); return _ajax(_opt); }; })(jQuery);
其实,$.ajaxPrefilter也可以实现
$.ajaxPrefilter(function (options, originalOptions, jqXHR) { // todo }