【问题标题】:How to store Vue state between form steps in a cookie for Laravel?如何在 Laravel 的 cookie 中存储表单步骤之间的 Vue 状态?
【发布时间】:2020-01-27 02:11:00
【问题描述】:

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

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

目前服务端运行的是用Laravel写的restful API,我的理解是不能通过rest API把cookies发送给客户端?

有没有办法通过用 Vue 编写的 SPA 前端来实现这一点,还是我最好只编写服务器呈现的视图并不使用 API 解决方案?

【问题讨论】:

    标签: javascript php laravel vue.js cookies


    【解决方案1】:

    您绝对可以通过 REST API 使用 cookie。 Cookie 本质上只是 HTTP 标头,您可以通过 SPA 和 REST API 完全控制它。不过,我会强烈考虑使用localStoragesessionStorage,而不是在cookie 中处理这种状态。

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

    根据您的多步表单在后端的建模方式,第一步创建初始表单(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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-11
      • 2010-12-02
      • 2013-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多