我正在使用此脚本:https://github.com/bassjobsen/Bootstrap-3-Typeahead 在Bootstrap 3中使用Bootstrap Typehead,它的工作性能很好。但是,我想使用本地客户端缓存,以便重复请求不会到达服务。 控制台日志显示从缓存和服务返回相同的数组,但是当我从缓存返回json数组时,文本框下面没有得到显示结果的预先输入列表。但是每次服务被点击时它仍然有效。
var cache = {};
$('#Name').typeahead({
minLength: 4,
source: function (term, process) {
var url = "/Search/GetNames";
var cacheHandle = $('#Name').val().toLowerCase();
if (typeof (cache[cacheHandle]) != "undefined") {
console.log(cache[cacheHandle]);
return process(cache[cacheHandle]);
} else {
$.ajax({
dataType: "json",
cache: true,
url: url,
data: { term: term },
success: function (data) {
cache[cacheHandle] = data;
console.log(data);
return process(data);
}
});
}
}
});