0

我正在使用此 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 中的网络选项对其进行了交叉检查。304结果类型即将到来,这意味着数据已被缓存,但自动完成将这些原始数据{id,值对}转换为 HTML 列表作为建议菜单仍然需要时间。这确实需要大量时间。

有什么办法可以缓解这个问题?我的意思是减少自动完成的填充时间以将原始数据转换为建议菜单。

编辑

我在 3 种自动完成方法searchresponseopen. 第二次,当数据被缓存时,responsesearch方法到方法几乎没有时间。open但在那之后它就卡住了,在很长一段时间的停顿后才进入方法。

4

0 回答 0