存储php数组客户端

时间:2016-09-07 03:54:30

标签: javascript php jquery ajax html5

我有一个网页查询数据库以获取产品列表及其相关数据,如价格,大小,重量等,并将其显示给用户,我想添加其中一个排序下拉列表,以便用户可以按价格或我指定的任何其他密钥对产品进行分类。

我计划在下拉列表更改时使用Ajax再次查询数据库并使用所选值作为查询中的排序键。 我的问题是,有没有办法可以在不运行其他查询的情况下完成客户端? php可以将查询结果发送到浏览器并将其存储在那里,然后使用jquery一遍又一遍地对其进行排序吗?

感谢大家的帮助!

2 个答案:

答案 0 :(得分:3)

有很多方法可以实现。可以使用HTML5 LocalStorage完成一个简单的示例。

以下概述了如何做到这一点:

  1. 您通过AJAX初步调用数据库获取产品,返回JSON对象。
  2. 您可以通过javascript序列化该JSON对象,例如var stringData = JSON.stringify(data)

  3. 将所述变量存储到localstorage中:window.localStorage.setItem("products", stringData);

  4. 您可以稍后通过var products = window.localStorage.getItem("products)访问它,最后使用var productsObj = JSON.parse(products)对其进行反序列化,或者在一个ccccc-combo破坏程序中执行所有操作:productsObj = JSON.parse(window.localStorage.getItem("products))

  5. 使用过滤功能随心所欲!

  6. 另一种方法是使用某种形式的存储来存储初始JSON对象,例如Redux,但让我们再保留一天;)

    当然,您可以选择拥有一个全局可访问的对象,您可以将初始JSON数据分配为属性,然后像访问任何其他属性一样进行访问。

答案 1 :(得分:0)

看看这个jquery插件 http://tablesorter.com/docs/example-ajax.html

也许这就是你要找的东西?无需重新查询数据库。