Если вы хотите остановить обработку на стороне сервера, то это сложная операция. Как правило, после запроса делается эта страница рендеринга на собственной независимой от других тингов. То, что вам, вероятно, нужно будет сделать, - это перестроить эту страницу, чтобы регулярно проверять, была ли выпущена команда остановки и прервать все, что она делает в этот момент. Флаг остановки может быть помещен в сеанс и должен быть очищен после остановки.
Возможно, вам также необходимо будет рассмотреть, как правильно идентифицировать правильный, чтобы остановить (в случае, если работает более одного). Это можно сделать, возвратив уникальный идентификатор, который может быть использован в части вызова на страницу «прервать».
Мой подход, хотя и не связанный с этим rigmarole, заключается в том, чтобы попытаться остановить пользователя от этой аварии. Возможно, сделайте любую ссылку, на которую они нажимают, вызывают предупреждение: «Следующая страница займет несколько минут для рендеринга, вы хотите продолжить», а затем, надеюсь, вы действительно прекратите запрос страницы до того, как она будет сделана.
Я должен отметить, что я никогда не пытался делать подобные вещи раньше, поэтому могут быть более легкие способы сделать это, но так я, вероятно, думаю, что проблема будет решена.
Как загружать данные? Ajax или просто через запрос главной страницы? И что бы вы хотели отменить? Просто прекратите загрузку или выполните перенаправление или сделайте экран чем-то другим? – Chris
Я не использую AJAX. Что я хотел бы сделать, это выпустить команду остановки загрузки на сервер, чтобы остановить ее отображение, потому что большой рендеринг страниц замедляет работу других пользователей, использующих систему. – Olivier