【问题标题】:Clear the cache for jquery ui autocomplete清除 jquery ui 自动完成的缓存
【发布时间】:2012-05-23 18:51:39
【问题描述】:

我想我已经阅读了有关此问题的所有 stackoverflow 和 google 结果,它们似乎都指的是第一个 jquery 自动完成插件,而不是当前的 jquery ui 自动完成。

强制自动完成结果从数据源而不是缓存列表更新的方法是什么?

【问题讨论】:

  • 你的代码是什么样的? afaik,自动完成没有内部缓存机制。你建立你自己的。

标签: jquery jquery-ui jquery-ui-autocomplete


【解决方案1】:

jquery ui 自动完成不做任何缓存。缓存发生在浏览器级别。为防止这种情况发生,请使用$.ajaxSetup

$.ajaxSetup({ cache: false });

如果您不想全局禁用缓存,您也可以改为使用 cache: false 为执行 ajax 请求的源选项提供一个函数。

source: function(request, response) {
    $.ajax({
        url: "url.php",
        dataType: "json",
        cache: false,
        type: "get",
        data: { term: request.term }
    }).done(function(data) {
        response(data);
    });
}

【讨论】:

  • 谢谢你拯救我的一天
【解决方案2】:

您还可以将随机的cache busting parameter 添加到 jQuery UI 使用的源 URL。如果那里已经有缓存清除参数,jQuery UI 足够智能来处理附加 term 参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-07
    • 2011-05-22
    • 2020-05-04
    • 2012-01-09
    • 2011-05-23
    • 2011-02-03
    • 1970-01-01
    相关资源
    最近更新 更多