Не удается прочитать ob_flu sh () через ajax - PullRequest
1 голос
/ 21 февраля 2020

У меня есть код, где я делаю запрос AJAX для определенного файла при каждом нажатии кнопки, запрос выглядит следующим образом:

$("#syncDNS").click(function(){
    $('#status').html("");
    $('#status').addClass('loading');

    function updateProgress(){
        $.ajax({
            type: 'POST',
            url: 'index.php',
            success: function(data){
                $('#status').html(data);
            }
        });
    }

    $.ajax({
        url: 'index.php?action=sync',
        success: function (response) {
            clearInterval(loop);
            $('#status').removeClass('loading');
            if(response){
                $('#status').addClass('alert alert-warning').html("<h4>Aviso</h4>" + response);
            }else{
                $('#status').addClass('alert alert-success').html("<h4>Sucesso</h4>" + "DNS sincronizado com sucesso!");
            }
        }
    });

    updateProgress();
    var loop = setInterval(function () {
        updateProgress(); 
    }, 1000);
});

В коде я делаю запрос, и пока Я жду его успеха, я продолжаю запускать в oop другую функцию, чтобы обновить прогресс первой. И в моем файле index. php у меня есть:

require_once(CONTROLLER_PATH . "ControleAutodns.php");
$action = isset($_GET['action']) ? $_GET['action'] : '';

switch ($action) {

   ...

   case 'sync':
           $controller = ControleAutodns::getInstance();
           $return = $controller->syncDNS();
           exit($return);
           break;
   ...

}

В индекс, который я включаю в свой контрольный файл и вызываю функцию PHP, эта функция php имеет вид al oop, где я добавить несколько записей в базу данных:

public function syncDNS(){

...

   foreach($result as $row) {
               $current ++;
               echo($current);

   ...

   }

...

return $string;
}

Дело в том, что запросы работают, как задумано, и функция PHP также выполняет свою работу, я просто не могу слушать эхо в syncDNS функция, почему это? Я также пытался использовать ob_start (), ob_flu sh (), flu sh (), но ничего не получалось. Как я понимаю, контрольный файл включен в индекс, поэтому все, что там отображается, должно быть доступно через AJAX запрос POST.

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