尽管存在缓存,但自动完成中的大数据填充延迟

时间:2013-05-07 09:16:08

标签: javascript jquery caching autocomplete browser-cache

我正在使用此ajax请求调用自动完成:

source: function (request, response) {
                jQuery.ajax({
                    url: handlerUrl,
                    dataType: "json",
                    data: requestString + "=" + request.term,
                    success: function (data) {
                        if (data.length == 0) {
                            data.push({
                                id: noResults,
                                label: noResults
                            });
                        }
                        response(data);
                    }
                });
            }

自动填充是在从服务器请求后缓存数据。数据被缓存,但是当它创建建议菜单时,它需要花费大量时间。 假设我有4000个数据,所有这些都在浏览器中缓存。我通过IE中的Networking选项对它进行了交叉检查。 304类型的结果即将到来,这意味着数据已缓存但仍然需要时间来自动完成将这些原始数据{id,value pair}转换为HTML List作为建议菜单。而且它真的需要很长时间。

有什么方法可以缓解这个问题?我的意思是减少自动完成的人口时间,将原始数据转换为Suggestion菜单。

修改

我在3种自动填充方法searchresponseopen附加了断点。第二次,当数据被缓存时,几乎没有时间从response方法获得search方法。但是在那之后它就会停滞不前,经过很长时间的停顿后会转到open方法。

0 个答案:

没有答案