我们使用插件https://goodies.pixabay.com/jquery/tag-editor/demo.html作为自动完成功能。我们用3500个项目加载源代码。当用户开始键入时性能变得太差,自动完成在6到8秒后加载过滤后的结果。
对于自动填充功能,我们可以采取多达4000项的替代方法。
感谢您的回复!
答案 0 :(得分:1)
您是否使用自动填充中的minLength属性?
在他们的主页上,他们有类似的东西:
$('#my_textarea').tagEditor({ autocomplete: { 'source': '/url/', minLength: 3 } });
这实际上意味着,在使用自动完成之前,用户必须输入至少3个字符。这样做通常会将自动完成的结果数量减少到更合理的数量(例如20-30)。
但是,这可能不一定是你的问题。首先你应该弄清楚,如果你的服务器快速响应有问题(你可以使用你的浏览器开发人员工具栏来查看完成请求需要多长时间)。
如果请求需要6-8秒,那么您必须优化服务器的代码。另一方面,如果响应很快,但是tageditor需要很长时间来构建建议列表,那么问题是,它可能没有针对这么多建议进行优化。在这种情况下,最终的解决方案是自己重写自动完成模块或修补现有模块以更好地扩展到您的需求。
答案 1 :(得分:0)
每次用户输入内容以获得匹配结果时,您是否会返回服务器?
我正在使用SPRING ehcache,它在服务器启动时从数据库获取所有项目并存储在服务器缓存中。每当用户键入使用的缓存数据时,都会在几毫秒内获得结果。其他人建议我使用它.Below就是它的例子 http://www.mkyong.com/ehcache/ehcache-hello-world-example/
我正在使用带有2500个项目的jQuery自动完成功能,没有任何问题。 这是使用它的链接http://www.all4sportsonline.com