实现数据持久性jquery / php的最佳方法是什么?

时间:2012-05-10 01:38:40

标签: php jquery session persistence

我正在jquery / php中设计一个简单的棋盘游戏。该板的状态当前存储在服务器端作为数组的php会话变量中。每个回合都是作为对php的ajax调用执行的,它执行逻辑来更新这个数组,并将数组返回到jquery以呈现为html。我用php会话变量来实现板状态的持久性......但我不认为这是一个好习惯。我甚至无法在多个选项卡中播放它,因为浏览器将两个选项卡视为同一会话的一部分。我想在数据库中找到除了存储板状态之外的解决方案......但如果这是唯一合理的解决方案,请告诉我:)。谢谢!

2 个答案:

答案 0 :(得分:1)

Lawnchair这样的javascript库如何在客户端存储数据?

  

默认情况下,如果有其他适配器和dom,草坪椅将继续使用dom存储   当前正在执行的javascript运行时不支持存储。草坪椅将尝试各自   连续适配器,直到它找到一个有效的。容易。

Dom存储也跨越了标签。

通过Dive.Into.Javascript

  

存储在本地存储区域中的数据不会过期并跨越不同的选项卡和/或窗口

答案 1 :(得分:0)

您可以使用javascript将数据存储在客户端。要么放在隐藏的字段中,要么使用像jquery data这样的机制:

$('body').data('player1-pos-x', x);
$('body').data('player1-pos-y', y);

问题是当你刷新浏览器时,一切都会丢失。

另一种方法是在服务器端和客户端存储数据。您可以将游戏ID,会话ID对存储在同一会话下的游戏中。当浏览器刷新时,您将拥有该会话所涉及的所有游戏并对数据做出决定。