serverside与客户端自动完成

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了serverside与客户端自动完成相关的知识,希望对你有一定的参考价值。

标题有点说明了一切。

我有一个文本字段,我想要自动完成。可以说它是电子商务解决方案所需的产品搜索领域。产品在数据库中。现在,当用户在文本字段上按键时,我可以使用ajax加载列表(也许使用jquery中的自动完成)。我还可以在从数据库加载页面之前加载所有产品,并将其作为下拉菜单传递(也可以选择2)。我想知道哪种方法是合适的。我的情况的一些特点是:

  1. 用户将始终至少搜索5个产品。
  2. 产品数量可能> 10000。

我读了this place的一篇文章,建议我使用服务器端解决方案。但是,我想知道更多关于这个问题的意见。

答案

这实际上取决于您为产品加载的数据;如果它只是名称(并且你没有很长的名字),10000就是我个人考虑的极限,你可以预先加载它们并简化其他所有(除非产品清单预计会增长很多)。

替代方法意味着更加关注您发出请求的方式;一些常见的最佳实践是仅在输入至少两个字符后开始搜索,并且不在每个按键上发出请求,而是等到用户暂停几毫秒;这样,您不会使用返回时已经无用的请求充斥您的服务器。这种技术通常称为去抖动/去抖动。当然,如果您使用具有自动完成组件的UI库,则组件可能会为您处理。

以上是关于serverside与客户端自动完成的主要内容,如果未能解决你的问题,请参考以下文章

如何在 GAE 中实现自动建议(自动完成)功能

Ajax 自动完成(或自动建议)与 TAB 完成/自动填充类似于 shell 命令行完成?

MySQL 命令行客户端中的自动完成

Rails jQuery-自动完成客户端

如何在 Swift 中创建自动完成文本字段

jQuery UI 自动完成与类似 Chrome 的自动填充