我在 AngularJS 中有一个服务,它生成所需的所有步骤、每个步骤的当前状态(完成、当前、显示等)以及实际实现服务并显示服务数据的关联指令。但是,有 2 个步骤,每个步骤分为 4 个和 3 个步骤:
第一步
- 折扣
- 活动
- 期间
- 付款长度
第二步
- 鉴别
- 个人资料
- 支付
我如何“保存”我的表单状态,以防该人离开站点并稍后返回?使用 localStorage 安全吗?我不提供对 IE6 或 7 的支持。我想过使用 cookie,但最终可能会很弱(或没有)
我在 AngularJS 中有一个服务,它生成所需的所有步骤、每个步骤的当前状态(完成、当前、显示等)以及实际实现服务并显示服务数据的关联指令。但是,有 2 个步骤,每个步骤分为 4 个和 3 个步骤:
第一步
第二步
我如何“保存”我的表单状态,以防该人离开站点并稍后返回?使用 localStorage 安全吗?我不提供对 IE6 或 7 的支持。我想过使用 cookie,但最终可能会很弱(或没有)
本地存储或 cookie 都应该没问题。我怀疑这将是一个问题,但请记住,两者都有大小限制。此外,不言而喻,只有当用户在同一个浏览器上返回并且没有删除 cookie/本地存储时,才会恢复表单状态。
另一种选择可能是保存信息服务器端。如果用户已登录,您可以使用数据进行定期 AJAX 调用并将状态存储在服务器上。当用户完成所有步骤后,您可以进行 AJAX 调用,告诉服务器删除它可能拥有的任何已保存数据。这允许您恢复状态,即使用户在不同的浏览器上返回,只要他已登录。
无论您采用哪种方式,您都可以使用 jQuery 的serialize
方法将表单序列化为字符串并使用您选择的存储方式保存它。