使用任何服务器语言的AJAX过滤结果的正确方法

时间:2012-07-29 11:01:21

标签: jquery ajax filtering

我有一个控制器(带有RoR,但让我们假设我有一些服务器正在侦听请求),它处理酒店的搜索。默认搜索是按城市,因此在给定城市的情况下,控制器将查找该城市中的所有酒店。

呈现该视图后,我有一个表单,可以让您过滤结果。我的问题是:

我应该如何保存用户首选项(过滤器和城市)的当前状态,以便再次将它们发送到控制器操作?

所以,假设用户点击按价格排序,并通过AJAX我想获取按价格排序的特定城市(之前选择)的酒店。我如何知道他之前选择的城市?我是否需要将其存储在隐藏的字段中或者这样做的适当方式是什么?

如果在按价格过滤订单后,用户选择豪华酒店选项,则同样的问题会上升。我需要按照给定的城市取得酒店,按价格和奢侈品类别订购。我应该在哪里存储搜索的先前状态?

由于

2 个答案:

答案 0 :(得分:0)

您可以将先前的状态存储在JavaScript变量或隐藏的表单字段中。两者都很好,正确的选择将更多地取决于您的代码设计而不是任何类型的功能/性能问题。如果你不知道哪种方式对你的特定情况更好,不要担心它,因为它可能无所谓。

答案 1 :(得分:0)

每次用户按下sortBy时,您都可以发送所有排序选项,因此每次您的控制器获取城市和价格时,您的sql将显示为“.WHERE city ='city1'ORDER BY price ASC,anotherOption DESC” 并保存每个用户的结果:我认为最好的地方是cookie。 您也可以仅通过cookie对结果进行排序,并仅在获取smth时更改它们。来自ajax电话的新人。