2017-02-20 2 views
-2

источника от пост:Показать Выполненный запрос на момент создания

foreach($_POST as $key=>$value){ 
echo "$key $value<br>"; 
} 

результат с соусом выше:

key1 value1 
key2 value2 
key3 value3 
... 
key**n** value**n** 

потому, что PHP является сценарий на стороне сервера. результат показывают в то же время.
Моя цель - показать, что каждая строка выполнялась по одному.
моей идеей является использование ajax для выполнения.

foreach($_POST as $key=>$value){ 
echo" 
<script> 
$.ajax({ 
    url: "save.php", 
    type: "POST", 
    data: "key="+$key,"value="+$value, 
    dataType: "text", 
    success: function(data){ 
     if (data==1){ 
      $("#result").append("<div><?=$key." and ".$value?> has been saved</div>"); 
     } 
    } 
}); 
</script> 
} 

Что лучше всего использовать идеи выше? я должен положить ajax foreach или просто позвонить ему один раз?

+0

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

+0

результат 1000 строк больше, просто для контроля процесса. – hooman182

+0

1000 вставок - это всего лишь одна секунда. вы тратите больше времени на мониторинг, делая 1000 HTTP-запросов –

ответ

0

Его лучше хранить все запроса Ajax в объектах один массив акушеров и назвать его в конце:

echo " 
    <script> 
    var _ajax = [];"; 
    foreach($_POST as $key=>$value){ 
    echo" 
    _ajax.push({ 
    data: "key="+$key,"value="+$value 
    }); 
    "; 
    } 
    echo " 
    for(var i=0;i<_ajax.length;i++) { 
makeCall(_ajax[i]); 
} 
function makeCall(value){. 
$.ajax({ 
     url: "save.php", 
     type: "POST", 
     data: value, 
     dataType: "text", 
     success: function(data){ 
      if (data==1){ 
       $("#result").append("<div><?=$key." and ".$value?> has been saved</div>"); 
      } 
     } 
    }); 
} 

    } 

    </script>"; 

А если вы используете библиотеку q обещаний, вы будете делать один раз и более чистым. Я изменил код для вызова ajax внутри функции.

+0

Ваша идея - сначала закончить php, а затем выполнить ajax. я думаю, что ваш sugestion больше сэкономит время на выполнение кода – hooman182

+0

Я предлагаю это, потому что код будет более подходящим и более эффективным для отладки –