我知道这个问题可能已经结束,但我真的很难决定应该在 jQuery、AJAX 请求或基本框架设计中实现搜索功能的哪些部分。
一般来说,我正在查看的三个任务是执行新的搜索查询、应用过滤器/排序和分页。目前所有这些功能都由 Django(这是我正在使用的框架)处理,但我发现这种方法既慢又不灵活。我意识到其中的某些部分我真的应该移动网站的 javascript 端,但我无法决定在哪里区分,我想知道是否有一套 Web 标准来帮助指导我。
执行搜索查询:基本上我在这里所做的只是以几种形式收集值,然后将 JSON 对象发布到 REST api,将结果以 JSON 形式返回。
过滤器/排序:我可以通过在稍微不同的端点对相同的 REST api 进行新的 AJAX 调用来进行过滤,或者通过基于 JSON 对象中的数据过滤旧的结果列表来进行过滤。对于排序,我目前有一个 python 模块,它以多种不同的方式对数据进行排序,但这需要对每个不同的排序都有一个新的 get 请求,而且逻辑很简单,很容易转移到 Javascript
分页:这里相当标准,有一个更改,即我可以通过进行另一个 AJAX 调用来实现分页,因为我正在使用的 REST api 让我可以定义我想要返回的答案的确切范围,但如果我想使用非标准排序它不会真正起作用。现在我正在使用 Django 的分页,它可以工作,但我觉得如果我使用 jQuery 解决方案进行分页,它在应用程序上会更轻松。
我意识到这些响应将部分基于意见,但我真的在寻找为什么我应该选择其中一些选项而不是其他选项的具体原因,例如安全问题、性能或与 Web 标准的显着偏差。