Flask AJAX: отправка промежуточных данных во внешний интерфейс во время маршрута - PullRequest
0 голосов
/ 25 апреля 2020

Я создал приложение, использующее Flask, которое имеет внутренний процесс, который инициируется пользователем. Когда пользователь инициирует процесс, некоторые данные отправляются на Flask через jQuery AJAX, который затем обрабатывается, и результаты возвращаются. Этот процесс может занять от нескольких секунд до примерно минуты, поэтому у меня есть модал «Пожалуйста, подождите» на передней части, ожидая ответа AJAX от серверной части.

Есть ли способ, которым я могу отправить промежуточные данные во внешний интерфейс, чтобы обновить модал «Пожалуйста, подождите», пока бэкэнд-процесс делает свое дело? Поддерживаемый процесс выполняет итерации, пока не будет удовлетворен. Поэтому в идеале я бы хотел показать пользователю, сколько итераций он выполнил.

Сначала я подумал, что в функции сообщения Flask '' fla sh 'может быть что-то. Но, похоже, это относится скорее к перенаправлениям на маршруте, чем к AJAX вызовам на маршрут.

Любые предложения будут оценены.

Ура, Хью

1 Ответ

0 голосов
/ 25 апреля 2020

Да, вы можете сделать это, но не с AJAX, потому что HTTP-коммуникация - это только клиент-сервер, поэтому вы не можете асинхронно обновлять ваш клиент с HTTP, поэтому вам нужно использовать другой протокол. Я настоятельно рекомендую использовать SocketIo, этот протокол позволяет вам асинхронно отправлять mensagens с сервера, чтобы обновить ваш фронт, потому что этот протокол сохраняет пользователя на сервере. С помощью этого протокола (например) вы можете создать чат, например WhatsApp. для получения дополнительной информации см. Документация SocketIo Flask Расширение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...