我正在使用typeaheadjs,并使用remote获取数据。当我输入'A‘时,它会获取以'A’开头的数据,但下次当我删除并重新输入'A‘时,它会显示缓存中的数据。但我每次都需要调用服务器,而不是重用先前的响应。
以下是我的代码
$('#demo').typeahead({
remote: {
url: '/Home/GetSuggestions?query=%QUERY&url=%URL',
replace: function (url, query) {
return url.replace('%QUERY', query).replace('%URL', 'http://www.example.com');
},
},
minLength: 1,
limit: 10,
cache: false,
valueKey: 'Key'
}).bind('typeahead:selected', function (obj, datum) {
$.ajax({
url: '/Home/UpdateTags/',
type: 'POST',
data: JSON.stringify(some_data),
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success: function (data) {
$('#demo').typeahead('setQuery', '');
}
});
});我有了从here添加minLength的想法。我错过了什么吗?急切地等待帮助。
发布于 2013-12-15 16:48:44
在不研究代码库的情况下,一个老把戏在这里可能会有所帮助:添加一个cache-buster。在您的replace函数中添加一个_=randomdigits,这将使url每次都是唯一的,如果缓存是按url进行的,则会阻止缓存。
https://stackoverflow.com/questions/20517710
复制相似问题