1

我在 AngularJS 中有一个服务,它生成所需的所有步骤、每个步骤的当前状态(完成、当前、显示等)以及实际实现服务并显示服务数据的关联指令。但是,有 2 个步骤,每个步骤分为 4 个和 3 个步骤:

  • 第一步

    • 折扣
    • 活动
    • 期间
    • 付款长度
  • 第二步

    • 鉴别
    • 个人资料
    • 支付

我如何“保存”我的表单状态,以防该人离开站点并稍后返回?使用 localStorage 安全吗?我不提供对 IE6 或 7 的支持。我想过使用 cookie,但最终可能会很弱(或没有)

4

1 回答 1

0

本地存储或 cookie 都应该没问题。我怀疑这将是一个问题,但请记住,两者都有大小限制。此外,不言而喻,只有当用户在同一个浏览器上返回并且没有删除 cookie/本地存储时,才会恢复表单状态。

另一种选择可能是保存信息服务器端。如果用户已登录,您可以使用数据进行定期 AJAX 调用并将状态存储在服务器上。当用户完成所有步骤后,您可以进行 AJAX 调用,告诉服务器删除它可能拥有的任何已保存数据。这允许您恢复状态,即使用户在不同的浏览器上返回,只要他已登录。

无论您采用哪种方式,您都可以使用 jQuery 的serialize方法将表单序列化为字符串并使用您选择的存储方式保存它。

于 2013-04-26T04:21:34.890 回答