Как правильно сделать переход?

У меня имеется сайт на фреймворке MVC, у меня там имеется форма регистрации, поля у меня просто ввод номера. Так вот, как после ввода номера и после нажатия кнопки отправить код переключить форму на форму ввода кода? Как лучше всего это сделать? Для более точного вопрос, возьмём скажем тот же телеграмм. Если вы когда-то такое делали, буду рад тому, что покажите такую правильную реализацию на MVC


Ответы (1 шт):

Автор решения: Алексей Шиманский

Да вариантов масса, что правильно - это вопрос для каждого свой.

Для начала сделайте хоть какую-то реализацию, а потом улучшайте, если возникнут какие-то проблемы или "узкие места". Банальный алгоритм:

  1. Показываем окно ввода телефона. Пользователь вводит и нажимает кнопку "отправить"
  2. На стороне клиента отправляется ajax запрос на сервер, в виде POST запроса, например по адресу /user/phone-for-confirmation
  3. Пользователю показывается окно с подтверждением и пишется "Вам придёт СМС, ожидайте"
  4. В это время на сервере в методе /user/phone-for-confirmation можно сделать три вещи
  • Сохранить телефон во временную таблицу
  • Сгенерировать рандомный номер и положить рядом с номером телефона в эту таблицу
  • Отослать запрос через какой-либо сервис с текущим сгенерированным номером
  1. Пользователь получает СМС и вводит код, отправляется ajax запрос на сервер, например по адресу /user/auth-confirmed
  2. На сервере сравнивается этот код с тем, что во временной таблице. Если не совпадает - возвращается ответ "Повторите ещё", в ином случае делается что-то ещё
→ Ссылка