2012-02-07 45 views
2

我想知道我们可以使用jquery/json构建一个数据对象,它只存在于浏览器中,就像我们在服务器端有会话对象一样?如何在浏览器中构建数据对象?

拥有数据对象的原因是我为用户提供了不同的布局,所以他们可以在每次更改布局时从服务器取出数据来处理数据,例如用户有过去6个月的购买历史记录他希望看到它的历史条形图取决于不同的指标,例如他们使用现金/信用卡/借记卡购买了多少钱,或者在哪个月它们花费了超过其他月份的月份...

一个很好的例子是stackoverflow的信誉系统,其底部显示了完整的信誉统计信息,但是当我们选择特定时间时,它会将上面的图展开到该时间段,并且当我们单击顶部图上的任意一个条时,已被投票上/下来.. 。就像浏览器中的数据库一样。

我希望我已经清楚地解释了我在找什么?

+0

您是否在谈论Cookie? – Jivings 2012-02-07 15:23:31

+0

我不明白你会怎么做,而不必使用AJAX从服务器请求数据。即使使用cookie也不是一个好主意,因为它听起来像是在尝试在这里保存相当多的数据。 如果您对基于AJAX和JSON的解决方案感兴趣,我可以提供一个答案。 – bsimic 2012-02-07 15:29:39

+0

不是真的,因为在cookies中你有数据存储的限制......我正在寻找一个JSON数据对象,它是在用户登录时创建的,并在用户注销时被破坏... – 2012-02-07 15:30:23

回答

2

这是我会推荐的。我打算按照您的建议去使用户能够

用户有最近6个月的购买历史,他希望根据不同的指标看到它的历史条形图,例如他们有多少使用现金/信用卡/借记卡或在哪个月,他们花了超过其他月份

为了减少查询时间购买,我将创建一个物化视图认为,有必要对这一功能的数据。我认为这种观点并不总是必须是最新的,你可以在每天的下班时间重新创建它。

然后我想要一个类来完成AJAX请求来检索这些数据。您应该创建具有访问器(getter)的对象,这些访问器表示您尝试显示的值。然后将这些对象转换为JSON,并将其作为AJAX请求的返回值。

一旦你把它放回到你的HTML页面上,你就可以用它做任何你想做的事情,因为它是JSON格式。您也可以将查询结果转换为会话对象上的JSON,以便您可以在每个页面上访问它。

我希望有帮助。如果您需要任何澄清,请随时通知我。

+0

谢谢我在脑海中有同样的想法,还有一件事你有任何教程或例子,我可以看看?因为这将是一件好事,因为我不擅长编写JQuery对象处理方面的专家...... – 2012-02-09 08:47:20

+1

真的,jQuery网站是超级有用的,并有很好的例子。只要看看http:// api。jquery.com/jQuery.getJSON/有一些非常好的信息。一旦你在jQuery对象中获得JSON,对象处理就非常类似于Java。 – bsimic 2012-02-09 23:42:51