Javascript typeaheadjs:如何在不使用缓存数据的情况下调用服务器
我正在使用typeaheadjs并使用remote获取数据。当我键入“A”时,它会获取以“A”开头的数据,但下次我删除并重新键入“A”时,它会显示缓存中的数据。但是我每次都需要调用服务器,而不需要重复使用以前的响应 这是我的密码Javascript typeaheadjs:如何在不使用缓存数据的情况下调用服务器,javascript,typeahead,typeahead.js,Javascript,Typeahead,Typeahead.js,我正在使用typeaheadjs并使用remote获取数据。当我键入“A”时,它会获取以“A”开头的数据,但下次我删除并重新键入“A”时,它会显示缓存中的数据。但是我每次都需要调用服务器,而不需要重复使用以前的响应 这是我的密码 $('#demo').typeahead({ remote: { url: '/Home/GetSuggestions?query=%QUERY&url=%URL', replace: function (url,
$('#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', '');
}
});
});
我有一个想法,从中添加minLength。我遗漏了什么吗?
急切地等待帮助。尝试将缓存布尔值移动到遥控器中,这样应该可以完成任务
remote: {
url: '/Home/GetSuggestions?query=%QUERY&url=%URL',
replace: function (url, query) {
return url.replace('%QUERY', query).replace('%URL', 'http://www.example.com');
},
cache: false
},
在不深入代码库的情况下,这里有一个老技巧可能会有所帮助:添加缓存buster。在
replace
函数中,添加一个\uu=randomdigits
,该函数将使url每次都是唯一的,如果每个url都进行缓存,则会阻止缓存