我并不经常发现自己对如何解决问题感到完全困惑,但对于这个问题,老实说,我一无所知。
我正在建立一个有很多项目的网站,在主页上,我希望人们能够通过打开和关闭过滤器来浏览这些项目。例如,其中一种过滤器类型是 GENRE。用户会看到一个流派列表,单击该列表会过滤掉与该流派匹配的所有项目。此外,如果您单击两种不同的类型,您将只看到与这两种类型都匹配的项目。
问题是,这一切都需要通过 AJAX 来完成,而这正是我开始感到困惑的时候。如何进行 ajax 调用,不仅设置新过滤器,而且记住当前存在的过滤器?加载页面后,我可以执行类似的操作
<a href="/api/projects?genre=first_genre">First Genre</a>
<a href="/api/projects?genre=second_genre">Second Genre</a>
但问题是,当我一次单击两个时,我最终只能按一个流派进行过滤。或许,每次点击一个链接时,我都可以使用 JS 更新所有链接以包含一系列已选择的类型,但这似乎非常草率。然后,每个链接都将具有以下内容:
<a href="/api/projects/?genres[]=first_second&genres[]=second_genre etc etc...">First Genre</a>
我的另一个想法是可能将所有当前过滤器存储在 cookie 中,然后当单击链接时,将该新过滤器添加到 cookie 中的过滤器列表中,但同样,这似乎很草率。
关键是,我不知道这样做的正确方法是什么,我感到有点失落。对于以前成功做过类似事情的任何人,帮助!