Поговорите с таймаутами при отправке данных -no ajax

Вопрос:

Вариант использования:

Пользователь делает заказ, его оплата принимается, и его данные получают сообщение в виде django. Используя эти данные, django view создает пользователя и все, что необходимо (имя пользователя и пароль предоставляются мной). Затем, прежде чем возвращать, он отправляет электронную почту клиентам электронной почты со своими данными (имя пользователя и пароль на данный момент).

Но иногда я получаю ошибку тайм-аута шлюза от apache (приложение развернуто при спусках). Поскольку пользователь создан, я предполагаю, что тайм-аут приходит из части отправки электронной почты. Как я могу убедиться, что все прошло нормально и информировать пользователя? Как я могу убедиться, что если письмо не отправлено, я могу отправить его повторно? В чем лучшая практика?

Ответ №1

Если у вас есть тайм-ауты с API или службой, вы должны запустить свой запрос POST/sendmail с помощью AJAX…

  1. Сериализуйте всю форму (например, jQuery serialize())
  2. Отправьте эти данные через AJAX (с помощью jQuery ajax())
  3. Информировать пользователя об успешности или ошибке (диалог alert() или jQuery UI)

На этом сайте вы можете найти множество примеров.

Другим “грязным” подходом было бы добавить атрибут target = “_ blank” в ваш тег формы, что откроет ваш ленивый запрос в новой вкладке/окне.

Оцените статью
TechArks.Ru
Добавить комментарий