猴子补丁jqueryajax

猴子补丁jqueryajax,jquery,Jquery,我希望用自定义包装器替换jQuery现有的$.ajax调用。我能得到的最接近的是 (function ($) { var internalAjax = $.ajax; function getAccessToken() { var deferredObject = $.Deferred(); // logic to acquire the auth token return deferredObject.promise();

我希望用自定义包装器替换jQuery现有的
$.ajax
调用。我能得到的最接近的是

(function ($) {

    var internalAjax = $.ajax;

    function getAccessToken() {

        var deferredObject = $.Deferred();
        // logic to acquire the auth token
        return deferredObject.promise();
    }

    $.fn.ajax = function(options) {
        return getAccessToken().then(function(token) {
            options.beforeSend = function(request) {
                request.setRequestHeader('Authorization', 'bearer ' + token);
            };
            return internalAjax(options);
        });
    }
})(jQuery);
我遇到的问题是,对
$.getJSON
的调用仍然使用原始的
$.ajax
,而不是我的自定义包装器。我试图替换
$.fn.ajax
$.fn.extend
,但是仍然调用了原始的`$.ajax方法


如何替换jquery中的内部
ajax
调用?

您需要将
$.fn.ajax=function(options){
更改为
$.ajax=function(options){
因为
ajax
是一种静态方法,而不是一种有帮助的插件方法,而且在我的脚本之后加载了第二个版本的jquery,所以我的补丁被吹走了:/