【问题标题】:How to create search functionality for website to filter results by date in JS如何为网站创建搜索功能以在 JS 中按日期过滤结果
【发布时间】:2019-10-16 15:35:39
【问题描述】:

您将如何使用 JavaScript 在网站上创建搜索功能。详细地说,我有一个在日期上键入的对象的完整列表(它将是 YYYY-MM-DD),目前,网站检索所有对象并将它们列出在页面上,显然随着时间的推移会看起来很糟糕并永远加载和渲染。因此,为了缓解这个未来的问题,对象将按年份划分,然后单击它时将按月过滤,然后按天过滤,但我希望用户能够搜索明确的日期,如果他们知道他们想要什么并且网页只显示与他们的搜索匹配的结果。我不知道从哪里开始搜索,我发现的唯一例子是完全匹配的字符串,但理想情况下我也想要部分匹配。

提前致谢!

【问题讨论】:

  • 您是否有任何代码愿意分享:您已经完成的任何工作?
  • 我还没有实现任何代码,纯粹是因为我想在尝试编写任何代码之前将理论直入脑海。前端目前从数据库中读取所有记录,因此我将它们放在手边,因此搜索根本不需要返回数据库,我认为这会使其更快,因为它只需要在对象中搜索手?

标签: javascript search


【解决方案1】:

为避免服务器过载,您应该考虑在服务器中设计数据库查询,以检索您需要的结果数量,并使用“当前页面”和“开始/结束日期”等参数按日期排序。

客户端应用程序会调用例如:

http://example.com/search?page=2&startDate=05102019&endDate=20102019

所以你的前端只接收它需要显示的结果。

“page”参数用于限制每次给出的结果数量。

【讨论】:

  • 前端当前从数据库中读取一次大读取中的所有记录,因此我将它们放在手边,因此搜索根本不需要返回数据库,我认为这会使其更快因为它只需要在手头的对象中搜索?
  • 我会推荐另一种方法。不确定您的最终目标是什么,但在面向公众的网站的情况下,如果人们都请求大量读取,则它的扩展性不好,它可能会使服务器过载。更好的做法是让您的服务器处理特定的搜索,并让前端显示结果。如果所有数据都已经在客户端了,你可以使用数组“过滤器”方法来获取你需要的部分。
猜你喜欢
  • 2016-06-05
  • 2010-09-26
  • 2012-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-28
  • 2021-05-04
  • 2020-02-27
相关资源
最近更新 更多