修改jQuery ajax.js源码的一个问题

最近开发遇到一个问题:需要把项目所有ajax请求的参数加上一个随机数(用于清缓存),但是项目有40多个ajax请求,不想手动去修改,于是自己想试着修改jQuery的ajax源码,最后也达到目的了,不过想问问有没有更好的方法。(我猜应该是有的。。)

jQuery是v3.1.1

找到ajax函数修改为:

    ajax: function( url, options ) {            if(url.data != undefined)
                url.data.random = Math.random();
            else
                url.data = {random:Math.random()}; 
            ···
            (省略号后面是jQuery写ajax的500多行源码)
    }

思路就是这样。。很简单粗暴的直接改源码。

当然我一开始是打算用extend来修改的,比如:

$.extend($, {ajax: function( url, options ) {        if(url.data != undefined)
            url.data.random = Math.random();
        else
            url.data = {random:Math.random()}; 
        ···
        (省略号后面是jQuery写ajax的500多行源码)
}
}

这个方法行不通是因为ajax内部的源码还包括其他的函数,这样我不确定要怎么复写(难道要把ajax函数里面的所有其他函数也extend进去?)

所以,我想问有没有一个方法,可以让我在$.ajax.prototype上加几行代码就实现携带随机参数的做法?


回首忆惘然
浏览 794回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript