Задать вопрос
iKapex
@iKapex

Как сделать preloader на send_data?

Есть action, который по запросы выкачивает большой объем данных. Как дать понять пользователю, что его запрос выполняется? AJAX - не вариант, - send_data не работает. В Resque.enqueue send_data тоже не работает. Что делать?

Всем спасибо за ответы.
  • Вопрос задан
  • 194 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
hummingbird
@hummingbird
Можно к кнопке добавить:
data: { disable_with: 'Ожидайте' }

А также по ее нажатию с помощью JavaScript можно перевести все поля в "только для чтения", а также с помощью все того же JavaScript можно вывести анимированную иконку (смотри fa-spin у Font Awesome) и надпись рядом, мол: "Ожидайте. Ваш запрос обрабатывается."

UPD
Или же лучше сделать так. В форму добавьте это:
remote: true

Далее смотрите ID формы и добавляйте JS обработчик (CoffeeScript):
$(document).ready ->
	$("#form-id").on("ajax:success", (e, data, status, xhr) ->
		#	Тут какой-нибудь код, когда все хорошо. Передаваемый JSON доступен в data.
	).on "ajax:error", (e, xhr, status, error) ->
		#	Тут какой-нибудь код, когда все очень плохо.
return


В итоге, если success или error, то скрываете форму и прогресс, а затем на месте всего этого отображается то или иное сообщение.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
TEYCA Казань
от 150 000 до 240 000 ₽
Netwrk Буэнос-Айрес
от 5 000 до 7 500 $
от 6 000 до 8 000 $