2013-05-10 4 views
0

У меня есть кнопка - при нажатии на нее появляется предупреждение, запрашивающее ввод, после того, как пользователь помещает данные, данные отправляются на сервер, обрабатываются, и результат получается. Это может продолжаться до 30 секунд-1 мин, потому что мне приходится обрабатывать довольно большой объем данных, поэтому мне нужно будет показать предупреждение «Загрузка, пожалуйста, подождите», пока выполняется работа на стороне сервера, поэтому пользователь не думает, что все не работает.«Подождите, пожалуйста, загрузите» предупреждение при нажатии кнопки

Может ли кто-нибудь предложить какие-либо предложения, пожалуйста?
Я совершенно новый для javascript и jquery. У меня такое чувство, что это нужно делать с помощью ajax, но я действительно не знаю, как это сделать.

+0

Мы понятия не имеем, что вы здесь используете. http://www.whathaveyoutried.com –

+0

Как я уже сказал, я новичок в javascript и JQuery, и я искал какое-то время для чего-то полезного, но до сих пор ничего не нашел. –

ответ

1

Я думаю, что здесь задан тот же вопрос - How to display a "busy" indicator with jQuery? и подтвержденный ответ с кодом.

+0

Есть ли способ настраивать вещи индивидуально, а не устанавливать их глобально и индивидуально удалять? И это также повлияет на вызовы ajax из других файлов, кроме одного с ajaxSetup? –

+0

Если ваш сценарий в некоторых случаях вызывает один запрос ajax, чтобы иметь индикатор, а в случаях, когда вы вызываете его, я бы посоветовал вам прежде, чем выполнить запрос, чтобы установить индикатор и использовать promisses - когда. Пожалуйста, посмотрите: http://api.jquery.com/jQuery.when/ – NT88

0

Что вам нужно точно Jquery Plugin именованный блок UI http://www.malsup.com/jquery/block/

Исходный код и работает демо можно найти на

http://www.malsup.com/jquery/block/#page

Согласно комментарий, если вы хотите сделать это для indivisual AJAX Вы можете разблокировать успешный или обработчик ошибок вызова Ajax ... предположительно

$.ajax({ 
    url: "test.html", 
    cache: false, 
    beforeSend: function (xhr) { 
     $.blockUI({ overlayCSS: { backgroundColor: '#00f' } }); 
    } 
}).done(function(html) { 
    // Do your work 
    $.unblockUI(); 
}); 
+0

выглядит красиво, но как узнать, когда разблокировать, если я не хочу блокировать все запросы ajax? –

+0

вы можете разблокировать успешный или обработчик ошибок вызова Ajax ... предположим '.ajax ({ url:" test.html ", cache: false }). Done (function (html) { // Сделайте свой работа // Разблокировать }); ' –