如何在 Cookie 的 Cookie 中存储表单步骤之间的 Vue 状态?



场景是用户本质上是在填写多步骤表单,我们希望将每个步骤保存在cookie中,以防用户失去连接,这样他们的数据就不会在表单步骤之间丢失。

我们还需要将该cookie发送回服务器进行验证,并将任何新数据保存在其中。

目前,服务器正在运行用 Laravel 编写的 restful API,我的理解是 cookie 无法通过 rest API 发送到客户端?

有没有办法通过用 Vue 编写的 SPA 前端来实现这一点,或者我最好只是编写服务器渲染的视图并远离 API 解决方案?

您绝对可以将cookie 与 REST API 一起使用。Cookie本质上只是HTTP标头,您可以通过SPA和REST API完全控制它们。虽然,我强烈建议使用localStorage或sessionStorage,而不是在cookie中处理这种状态。

至于在服务器端保存/验证数据,通常您只需对其中一个 RESTful API 端点执行 HTTP POST。饼干没有理由参与其中。

根据您的多步骤表单在后端的建模方式,让第一步创建初始表单(HTTP POST)后续步骤将更新该表单(HTTP PUT(可能是有意义的。如果您需要获取最新保存的表单数据,客户端(您的SPA(可以调用(HTTP GET(端点。

下面是如何构建终结点的一般示例:

- GET:   /api/special-forms/{id} (Returns a the form for the given ID)
- POST:  /api/special-forms/     (Creates a new form)
- PUT:   /api/special-forms/{id} (Updates the form matching the given ID)

最新更新