zoukankan      html  css  js  c++  java
  • js-重写jquery的ajax中的内容

    /**
     * 测试
     * 2018/1/8 13:40 lee.wangel
     */
    (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){
                    //错误方法增强处理
                    fn.error(XMLHttpRequest, textStatus, errorThrown);
                },
                success:function(data, textStatus,xhr){
                    //console.log( '-------->,ajax 被 代理');
                    //成功回调方法增强处理
                    if(data.code =='-2'){
                        setTimeout(function () {
                            var topPage = getTopWinow();
                            topPage.location.href ='/';
                        },1000)
                        return;
                    };
                    fn.success(data, textStatus);
                }
            });
            return _ajax(_opt); // 用于返回,防止第三方插件绑定了事件在ajax上
        };
    })(jQuery);

    顶级页面

    /**
     * 在页面中任何嵌套层次的窗口中获取顶层窗口
     * @return 当前页面的顶层窗口对象
     */
    function getTopWinow(){
        var p = window;
        while(p != p.parent){
            p = p.parent;
         }
        return p;
    }
  • 相关阅读:
    iOS中循环引用的解除
    Block的循环引用详解
    Mac OS X下面 Node.js环境的搭建
    swift中闭包和OC的block的对比
    STL priority_queue
    优先使用map(或者unordered_map)的find函数而非algorithm里的find函数
    Insert Interval
    Integer Break
    Unique Binary Search Trees
    腾讯2016实习生笔试
  • 原文地址:https://www.cnblogs.com/hwaggLee/p/8244631.html
Copyright © 2011-2022 走看看