使用jQuery cookie保存复杂的页面状态

时间:2014-07-09 10:10:06

标签: jquery cookies page-state

我有一个带有自定义树视图的页面。扩展节点时,通过jQuery Ajax调用加载其子节点。

现在,我想保存树视图的当前状态,以便当用户离开并返回页面时,先前展开的树视图会保持扩展。

在类似情况下,我使用此jQuery插件将搜索查询,结果或表单数据等数据保存在Cookie中:https://github.com/carhartl/jquery-cookie

到目前为止,我可以看到两个选项:

  1. 保存展开的节点ID并从头开始重新加载树视图,但是:
    • 可能有很多Ajax调用,
    • 难以以正确的顺序拨打电话(即在父母到来之前不要加载孩子),
    • 等待完成电话的时间
  2. 将包含树视图的整个元素保存到cookie中,但是:
    • 可能是很多数据
    • 在加载时将树视图HTML插入DOM时,可能难以将正确的jQuery事件附加到节点元素。
  3. 提前感谢您的任何想法!

    克里斯

1 个答案:

答案 0 :(得分:0)

过去我使用过cookie方法。但是数据对于cookie头来说太大了,所以我用ajax将状态发送到服务器并将其存储在那里。这样做可以在渲染树时恢复状态。