Несколько запросов Ajax и индикатор выполнения - PullRequest
1 голос
/ 07 мая 2010

В следующем фрагменте кода я создаю индикатор выполнения и показываю его прогресс по мере обработки запроса ajax.

Я подделываю прогресс, показанный здесь, просто добавив 5 в переменную счетчика cnt после этогоЯ сделал проверку, когда счетчик достигнет 90. В этот момент, если запрос не был выполнен успешно, я буду приостанавливать / отключать индикатор выполнения, и всякий раз, когда приходит ответ, я заполняю весь индикатор выполнения 100.

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

var cnt=0;
var res=null;

function getProgress(data){

res=data;

}
var i =0;
$('#start').click(function(){

i = setInterval(function() {

if(res!=null)
{

    clearInterval(i);
    $("#pb1").progressbar( "option", "value", cnt=cnt+100 );
}
var value = $("#pb1").progressbar("option", "value");
if(value >=90 && res==null){
$("#pb1").progressbar("option", "disable");
}
else{
$("#pb1").progressbar( "option", "value", cnt=cnt+5 );
}

},2500);

$.ajax({
url: 'http://localhost/beta/demo.php',
success: getProgress
});


});


$("#pb1").progressbar({

value: 0 ,
change: function(event, ui) {

if(res!=null)
clearInterval(i);

}
});

1 Ответ

0 голосов
/ 07 мая 2010

Как насчет использования объектов вместо переменных? Вы создаете объект со всеми переменными в нем, а затем просто создаете столько копий, сколько у вас есть индикаторов выполнения.

Больше информации здесь: http://www.javascriptkit.com/javatutors/oopjs.shtml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...