Как мне записать файл в поток ответов и показать / скрыть «рабочее» модальное окно? - PullRequest
3 голосов
/ 15 февраля 2011

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

Как я могу удалить переход после завершения диалога?

1 Ответ

2 голосов
/ 15 февраля 2011

Я задал почти тот же вопрос очень давно ( здесь ), и известный Т. Дж. Краудер предложил отличное решение. Клиент (страница) отправляет дополнительный параметр при запросе файла. Дополнительный параметр должен быть некоторой случайной строкой. Затем вы запускаете модальное диалоговое окно «Подождите ...».

Теперь на сервере, когда вы готовите ответ, вы устанавливаете в cookie значение этого дополнительного параметра. Клиент, в свою очередь, должен запустить интервальный таймер, который просто просматривает document.cookie каждые 100 миллисекунд или около того, проверяя это случайное значение. Как только файл cookie содержит случайное значение, вы знаете, что HTTP-ответ поступил с сервера! В этот момент вы можете скрыть модальное диалоговое окно или что-то еще.

...