[英]Autocomplete performance improvement with caching the JSON response
我正在使用此自动完成插件(FCBautocomplete)。 当我输入每个字符以返回结果时,都会向服务器发送一个请求。 由于我的数据太大,因此我担心可能发生的所有内存崩溃以及时间。 例如,如果我有一个名为“ John Smith”的联系人,那么将发送10个请求(将所有结果返回,然后根据输入的字符显示结果),这太昂贵了。 现在我的问题是缓存如何帮助我? 是否可以缓存JSON响应并从该缓存的响应中获取搜索结果的其余部分(即,当用户输入第二个字符而其余部分时,用户输入第一个字符,并且所有结果都将作为JSON响应生成。字符,而不是发送另一个请求,而是从缓存的JSON响应中搜索)。
请让我知道这个问题的好解决方案,因为我担心性能。 谢谢
您可以在ajax调用上尝试此代码。
var cache = {};
$.ajax({
url : ajax.url + '&suggestions=' + $.trim(queryText),
type : 'POST',
dataType : 'json',
success: function(data){
if(data.value.length > 0){
addItemFeed(data, etext);
cache = data;
bindEvents();
}else{
feed.hide();
}
}
});
只需分配一个名为cache的对象,然后将数据放在cache上,然后尝试在页面上的任何位置访问此结果,以避免不必要的ajax调用。
希望这可以帮助...!!!
在javascript中定义全局变量可以解决您的查询。
window.AutoCompleteCacheVariable = "";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.