Можно ли отменить длительный HTTP-запрос в модуле запросов? - PullRequest
0 голосов
/ 08 января 2019

Я пишу загрузчик файлов, в котором первый запрос POST должен быть отменен, если следующий запрос будет отправлен.

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

Могу ли я отменить работающий в данный момент модуль запроса i request?

1 Ответ

0 голосов
/ 08 января 2019

Клиентская сторона (сама веб-страница, т. Е. Javascript / HTML), как правило, не может напрямую контролировать то, что происходит на сервере (обработка отправленного вами POST) после отправки POST.

Кроме того, традиционный POST для «отправки формы» является синхронным, и после его запуска вы в основном теряете контроль над веб-страницей, пока она не возвращается с чем-либо, ИЛИ до тех пор, пока вы не перейдете в другое место (например, нажмите кнопку «Назад») и, таким образом, примете решение. не ждать, пока вернется POST.

С точки зрения непрофессионала, я считаю, что это типичные ограничения того, как это работает.

Если вы используете Javascript и AJAX для асинхронной отправки вашего сообщения (например: «В фоновом режиме»), вы не теряете контроль над своей страницей и по-прежнему можете запускать javascript и выполнять какие-либо действия на странице, например установить таймер и принять меры если сообщение не было завершено в течение определенного срока.

Интеллектуальный подход все еще требует понимания различных базовых концепций AJAX, и лучше изучить его, а не просто вставить чье-то решение в первый раз - но именно так вы решаете проблему такого типа. .

Некоторая информация о запросах Ajax Sync / Async

** edit: теперь, когда я хочу получить достойное вступительное руководство, на которое можно сослаться для правильного Ajax, я нигде не могу его найти. Но в любом случае это техника, которая вам, вероятно, понадобится, вам, вероятно, придется поискать вокруг.

...