Как сохранить состояние Vue между шагами формы в файле cookie для Laravel? - PullRequest
1 голос
/ 26 сентября 2019

Сценарий заключается в том, что пользователь, по сути, заполняет многошаговую форму, мы хотим сохранить каждый шаг в файле cookie на случай, если пользователь потеряет соединение, чтобы его данные не терялись между шагами формы.

Нам также необходимо, чтобы этот файл cookie отправлялся обратно на сервер для проверки и сохранения в нем любых новых данных.

В настоящее время на сервере запущен API-интерфейс restful, написанный на Laravel, я понимаю, что файлы cookie не могутбыть отправлено клиенту через rest API?

Есть ли способ добиться этого через внешний интерфейс SPA, написанный на Vue, или мне лучше просто написать представленные на сервере представления и остаться от решения API?

1 Ответ

1 голос
/ 26 сентября 2019

Вы определенно можете использовать куки с REST API.Cookies - это, по сути, просто HTTP-заголовки, которыми вы можете полностью управлять с помощью API SPA и REST.Хотя я бы настоятельно решил бы использовать localStorage или sessionStorage вместо того, чтобы манипулировать этим состоянием в файле cookie.

Что касается сохранения / проверки данныхна стороне сервера, как правило, вы просто выполняете HTTP POST для одной из ваших конечных точек API RESTful.Нет причин для участия файлов 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...