码迷,mamicode.com
首页 > Web开发 > 详细

jquery 重写 ajax提交并判断权限后 使用load方法报错解决方法

时间:2016-01-19 09:07:56      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

jQuery(function ($) {
    // 备份jquery的ajax方法    
    var _ajax = $.ajax;
    // 重写ajax方法,先判断登录在执行success函数   
    $.ajax = function (opt) {
        var _success = opt && opt.success || function (a, b) { };
        var _opt = $.extend(opt, {
            success: function (data, textStatus) {

                // 如果后台将请求重定向到了登录页,则data里面存放的就是登录页的源码,这里需要找到data是登录页的证据(标记)  
                if ((typeof data) == ‘string‘ && data.indexOf(‘shangjiaAjaxExtend‘) != -1) {
                    window.location.href = ‘http://‘ + window.location.host + ‘/S/BusiLogin/Index‘;
                    return;
                } else {

                    _success(data, textStatus);
                }

            }
        });
        return _ajax(_opt);
    };
});

  

重写原理为:由于闭包函数先于页面上script加载,所以在此可以直接复写$.ajax方法.

重点是红色部分内容一定要retrun 否则在使用load方法加载页面时报错 “Uncaught TypeError: Cannot call method ‘done‘ of undefined。”

jquery 重写 ajax提交并判断权限后 使用load方法报错解决方法

标签:

原文地址:http://www.cnblogs.com/shouce/p/5141039.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!