【发布时间】:2018-06-14 01:54:28
【问题描述】:
标题多少说明了一切。
我有一个 文本字段,我想在其中进行自动完成。可以说它是电子商务解决方案所需的产品搜索字段。产品在数据库中。现在,当用户在文本字段上进行按键操作时,我可以使用 ajax 加载列表(可能使用 jquery 的自动完成功能)。我还可以在从数据库加载页面之前加载所有产品并将其作为下拉菜单传递(可能是 select2)。 我想知道哪种方法是合适的。我的情况的一些特点是:
- 用户将始终至少搜索 5 个产品。
- 产品数量可能 > 10000。
我从this place 阅读了一篇文章,其中建议我使用服务器端解决方案。不过,我想知道更多关于这个问题的意见。
【问题讨论】:
-
在处理大型数据集时,服务器端自动完成总是更好的选择,这绝对是 10,000 个产品。
-
1.不要在每次用户按键时调用/查询您的数据库。这会导致您的代码过于昂贵。如果您想使用 opt #1,请使用按键事件中的
setTimeout()。 2. 如果您的产品很少更改(添加新的、更新的等),您可以缓存它们并使用 opt #2。如果没有,好吧,请不要。
标签: php jquery ajax autocomplete