php jQuery修改现有 AJAX 请求以清除缓存

toe95027  于 2022-11-21  发布在  PHP
关注(0)|答案(1)|浏览(134)

我需要有没有缓存 AJAX 请求,因为我有问题,当它缓存。我不能修改原始代码,因为它是从插件,我需要稳定的编码解决方案来修改它。
我试过这个代码:

jQuery.ajaxSetup({
   cache: false,
});

但不幸的是,它又有缓存了。有人能给予我一点提示吗?谢谢

093gszye

093gszye1#

您可以尝试在您的网址中添加一个所谓的“缓存破坏器”,例如时间戳,在大多数情况下,这会导致服务器发送一个未缓存的响应,因为该网址尚未缓存/以前从未被请求过。

url = url + "?cachebuster=" + Date.now()

如果你仔细阅读jquery AJAX docs,你可以看到该高速缓存选项will force requested pages not to be cached by the browser.,而在你的例子中,响应可能是由服务器缓存的
update:你也可以用.ajaxSetup为所有的jquery ajax调用添加“cachebuster”,比如:

$.ajaxSetup({

    beforeSend: function(jqXHR, settings) {
        settings.data = $.extend(settings.data, { cachebuster: Date.now() });
        return true;
    }
});

相关问题