使用jQuery Autocomplete,根据文档,您必须执行以下操作来缓存:
<script>
$(function() {
var cache = {},
lastXhr;
$( "#birds" ).autocomplete({
minLength: 2,
source: function( request, response ) {
var term = request.term;
if ( term in cache ) {
response( cache[ term ] );
return;
}
lastXhr = $.getJSON( "search.php", request, function( data, status, xhr ) {
cache[ term ] = data;
if ( xhr === lastXhr ) {
response( data );
}
});
}
});
});
</script>
以前没有缓存选项吗?感谢
答案 0 :(得分:9)
jQueryUI autocomplete的缓存绝不是一种选择。
是 jQuery自动填充的cacheLength
选项(JörnZaefferer现已弃用的自动完成插件)。
来自自动填充的migration guide - &gt; jQueryUI自动完成,Jörn提到:
cacheLength:不再有内置缓存支持,但实现自己很容易,如Remote with caching demo所示。
如果您经常使用缓存实现,可以将该功能包装在另一个封装它的插件中。