笔记记录

杂记

$.ajax封装,统一处理业务逻辑

$.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
}


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.5.2 Zero

Copyright Your WebSite.Some Rights Reserved.