Обновление индикатора выполнения через ajax в codeigniter - PullRequest
0 голосов
/ 03 июня 2019

<?php


echo '<style> #myProgress {
  width: 100%;
  background-color: grey;
}

#myBar {
  width: 1%;
  height: 30px;
  background-color: green;
} </style>';


echo '<div id="myProgress">
  <div id="myBar">1%</div>
</div>';



  echo'<script src="jquery-3.2.1.min.js"></script>';

  echo '<script type="text/javascript">
	function move() {
  $.getJSON("convo.php",function(data){});
  
  var elem = document.getElementById("myBar");  
  var width = 1;
  var id = setInterval(frame, 10);
  function frame() {
    $.getJSON("progress.php",function(results){
    width=results;
    if (width > 100) {
      clearInterval(id);
    }
    else if(width==100)
    {
      elem.style.width = width + "%"; 
      elem.innerHTML = width * 1  + "%";
    } 
    else 
    {
      width++; 
      elem.style.width = width + "%"; 
      elem.innerHTML = width * 1  + "%";
    }
    });
  }
 
}

</script>';
 ob_flush(); 
    flush(); 



echo '<br>
<button onclick="move()">Click Me</button>'
?>

/**** progress.php ***/

<?php

	$content = @file_get_contents('logs/123.txt');

	if($content){
  
    exit(json_encode($progress));
}


/**** convo.php ***/

will generate logs/123.txt file

Могу ли я узнать, есть ли для меня возможность прочитать текстовый файл и обновить индикатор выполнения с помощью ajax, пока другая функция работает и обновляет этот текстовый файл?

Но индикатор выполнения должен обновляться в реальном времени, не дожидаясь завершения процесса обновления txt-файла.

Я уже пытался сделать это, но проблема в том, что codeigniter продолжает запускать первый процесс (процесс обновления файла .txt), хотя я вызываю 2-ю функцию (updateProgressBar), используя ajax, в то время как 1-й процесс работает, он продолжает загружаться без возврата данных пока не закончится 1-й процесс. но когда 1-й процесс закончен, он возвращает данные, которые бесполезны.

Могу ли я знать, почему codeigniter не позволяет мне запускать 2 функции одновременно?

Заранее спасибо

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