我想我已经阅读了关于这个问题的所有 stackoverflow 和谷歌结果,它们似乎都指的是第一个 jquery 自动完成插件,而不是当前的 jquery ui 自动完成。
强制自动完成结果从数据源而不是缓存列表更新的方法是什么?
我想我已经阅读了关于这个问题的所有 stackoverflow 和谷歌结果,它们似乎都指的是第一个 jquery 自动完成插件,而不是当前的 jquery ui 自动完成。
强制自动完成结果从数据源而不是缓存列表更新的方法是什么?
jquery ui 自动完成不做任何缓存。缓存发生在浏览器级别。为防止它发生,请使用$.ajaxSetup
.
$.ajaxSetup({ cache: false });
cache: false
如果您不想全局禁用缓存,您也可以向 source 选项提供一个函数来为您执行 ajax 请求。
source: function(request, response) {
$.ajax({
url: "url.php",
dataType: "json",
cache: false,
type: "get",
data: { term: request.term }
}).done(function(data) {
response(data);
});
}
您还可以将随机缓存破坏参数添加到 jQuery UI 使用的源 URL。如果那里已经有缓存破坏参数,jQuery UI 足够聪明,可以处理附加 term 参数。