2014-12-23 2 views
0

Я хочу обновить индикатор выполнения (bootstrap), пока страница PHP обрабатывается с помощью запроса AJAX GET.AJAX загружает страницу PHP, которая вызывает функцию javascript

В настоящее время обновляется индикатор выполнения ПОСЛЕ ПОСЛЕ запроса AJAX на 100%. Страницы имеют намного больше контента, чем указано в списке, но это основа того, что должно функционировать.

Главная страница PHP

<html><head> 
<script type="text/javascript"> 
function updateBar(i) 
{ 
    $('#updateBar').html('<div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: '+i+'%;">'+i+'</div>'); 
} 
</script> 
</head> 
<body> 
<? 
echo "<button class='btn btn-success' id='button'>Process</button>"; 
echo "<div class='progress' id='updateBar'>Loading...</div>"; 
echo "<div id='update'></div>"; 
?> 
<script> 
$(document).ready(function() { 
    $("#button").click(function(){ 
    $("#update").text("Loading..."); 
    $.ajax({ 
     type: "GET", 
     url: "ajaxPHP", 
     success: function(data){ 
     $("#update").html(data); 
     }, 
     error: function(xhr, status, error) { 
     alert(xhr.responseText); 
     } 
    }); 
    }); 
}); 
</script> 

AJAX PHP страницу (ajaxPHP):

$max=85; 
for($i=0;$i>=$max;$i++){ 
// HERE ARE A BUNCH OF CURL CALLS AND SERVER SIDE PROCESSING, TAKING ABOUT 30 SECONDS PER LOOP 
?> 
<script> 
    var num = "<?php echo $i; ?>"; 
    var max = "<?php echo $max; ?>"; 
    var i = num/max; 
    updateBar(i); 
</script> 
<? 
} 
+0

Является ли этот javascript действительным? Вы снова и снова повторяете одни и те же глобальные вары с помощью 'var' ... хотя вы можете запустить этот Javascript с помощью' eval' (если вы избавитесь от тегов '

Смежные вопросы